同样的一段代码 为何结果不同?
小弟最近开始学习VB。net 在写的程序中有这样一个问题:
窗口中有一个Datagrid 和一个Toolbar控件
代码 :cb = New OleDb.OleDbCommandBuilder(oda)
oda.Update(ds.Tables("Sheet1"))
用来更新Datagrid 更改的数据,把代码放到普通Button的单击事件里可以正确更新,
但是放到Toolbar工具条内的按钮单击事件中却不能更新 请高人指点
[解决办法]
确保两个地方执行的代码完全相同。可以断点一下
[解决办法]
在Toolbar工具条内的按钮单击事件中代码上设断点,看下代码是否被执行了
或者把同样的代码写成一个方法,在两个按钮的单击事件里分别调用试下
[解决办法]
我也遇到过类似问题,原因是DataGrid还没有接受你的修改,具体说就是你的焦点要离开当前的编辑单元格,该单元格的修改才会保存到对应的数据源.
之所以用button可以,是因为你单击button的时候,因为button是有焦点的,所以当前焦点就会从DataGrid转移到button,从而完成DataGrid的编辑.
而工具栏Toolbar上的按钮是没有焦点的,也就是说你单击Toolbar上的按钮,当前输入焦点不会改变,依然在DataGrid的当前编辑单元格,所以DataGrid
当前单元格的内容是不能保存到数据库的.
这是我遇到的情况,不知道和你的相同部.^_^
[解决办法]
dataGridView1.EndEdit();
cb = New OleDb.OleDbCommandBuilder(oda)
oda.Update(ds.Tables("Sheet1"))
首先結束 dataGridView1的編輯狀態