日期:2014-05-17  浏览次数:20831 次

datagridview取修改后的值问题
首先我用datagridview绑定一个datatable,然后使用代码修改其中一项的值,但我取这项的当前值还是以前的值,也就是
dt.Rows[0]["column1", DataRowVersion.Original] 等于 dt.Rows[0]["column1", DataRowVersion.Current]。如果我取dt.Rows[0]["column1", DataRowVersion.Current]以前先点下datagridview,让datagridview获得焦点,就没有问题。不可能每次修改完值后,还点下datagridview,这个问题怎么解决?
后面是具体的代码

------解决方案--------------------
用 BindingSource 双向绑定呀。这样你就不用在 TextChanged 里写赋值了。

http://blog.csdn.net/fangxinggood/archive/2008/04/18/2304047.aspx
------解决方案--------------------
如果不愿意改代码,你可以把 DataGridView 的 EditMode 改为 EditProgrammatically
------解决方案--------------------
winform的dataBinding后面其实做了很多事,
其实DataGridView绑定的是DataTable的DataView
Button 按下时,你可以通过下面的语句获得当前绑定的行:

C# code
var row = BindingContext[dataGridView1.DataSource].Current as DataRowView;

------解决方案--------------------
其实DataGridView绑定的是DataTable的DataView

这句话不妥。。。先不要考虑。