我修改了记录的一值,在Botton事件在保存到数据库之前,调用
this.BindingContext[数据源].EndCurrentEdit();
this.dataGrid_BaseTable.EndEdit(xxx,xxxx,xxx)都没有什么用,数据就是不更新,必须改变数据输入焦点才行。
this.BindingContext[数据源].EndCurrentEdit();
this.dataGrid_BaseTable.EndEdit(xxx,xxxx,xxx)都没有什么用,数据就是不更新,必须改变数据输入焦点才行。
实在不行就用程序把焦点移开,再移动回来。然后再更新就没有问题了。
this.textBox2.Focus();
this.textBox1.Focus();
把焦点移动一下,再移动回来!
TextBox没离开焦点前还没有提交给DataRowView,你再EndCurrentEdit也是不行
你要做的是怎样让TextBox.Text提交给DataRowView
所以你要熟悉绑定机制
参考BindingContext,BindingManagerBaseliujun808是高手啊,佩服ing,这么漂亮地就解决了
不过这种另类手法一定是有副作用的,
我用DataGrid1[1, 1]="abc";使行2列2的值改为"abc",然后用OleDbDataAdapter.Update(DataSet,"XXX");,发现数据没有更新!当把DataGrid1[1, 1]="abc";改为DataSet.Tables[0].Rows[1][1]="abc";后再执行却发现数据已更新了!