2012-07-10 70 views
0

我有一个绑定到Acces数据库的DataGridView。我可以更新数据库好,如果我在DataGridView进行编辑直接,但如果我使用类似:DataGridView绑定到Acces数据库问题

dgView.Rows[0].Cells[1].Value = "Some text"; 

它将在0行写在第一个单元格中的文本,但是,当我打电话:

dAdapter.Update(dTable); 

它不会更新数据库。相反,旧的价值被保留。如果我自己编辑了代码,并通过双击单元格并键入内容来编写“某些文本”,它会更新正常。我知道这是一个问题,但实际上我不知道它是什么。

请帮忙,我真的需要做这件事情(这是一个学校项目)。请问我需要进一步的问题来帮助我。提前致谢。

瓦利

回答

0

这里的问题是,当你更新你的DataGridView编程你这样做的方式,在DataGridView的底层数据源(您的数据表)不被告知它已经改变 - 所以只是UI更改,而不是您的数据源。

可以使用DataGridView.BeginEdit方法来激发这些事件,像这样:

dgView.BeginEdit(false); 
dgView.Rows[0].Cells[1].Value = "Some text"; 
dgView.EndEdit(); 

,而不是试图通过编程,你是在DataGridView更新您的数据表,一个更好的办法是,直接更新您的DataTable。