麻烦问一个关于dataGridview的问题

eaqpi 2017-05-24 03:42:36
在使用datagridview的时候,发现这么一个问题,请问下该如何解决。

datagridview绑定了datatable

我在datagridview中编辑某一行时候,即使我移出cell格,只要不换行。datatale并没有接受到变化,datatable.getchang 就是nothing。

只有换行后,数据才会被写入到datatable中。

我希望当我编辑完一个格子后,数据立刻就能写入到datatable中,应该如何设置?

datagridview.endedit不好用。
...全文
136 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
eaqpi 2017-05-25
  • 打赏
  • 举报
回复
Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit '主动UPDATE End Sub 确实是办法,endedit后和原数据进行比较,然后手动写入dataTable中。如果在使用中如果手工又换了行,是否会导致数据产生2个chang,一会儿测试下再来看。
水哥阿乐 2017-05-24
  • 打赏
  • 举报
回复
另外需要说明的是,Dt.GetChanges测试数据变化,dt的创建时间这个就起了作用,该方法就开始生效的,所以在这个上面误导性一直很严重.要么有人会说,要么说我的数据一直在改变,要么有人也会说我的数据长期未改变.这个dt的起点时间需要注意,DG控件中没有换行,该方法的确是视作未改变数据,是有这方面的问题,楼主不必纠结,如果在单元格触发事件中自己人为更新数据

Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
'主动UPDATE
End Sub
eaqpi 2017-05-24
  • 打赏
  • 举报
回复
什么 datagridview.update,datagridview.endedit都没用。 有一句有用,希望可帮到碰到同样问题的人 datagridview.currcell=nothing. 呵呵呵。呵呵呵。
秋天之落叶 2017-05-24
  • 打赏
  • 举报
回复
没有很深入的研究过,鼠标移出单元格后模拟一个回车+换行可不可以?
eaqpi 2017-05-24
  • 打赏
  • 举报
回复
如果数据只有一行呢?我瞬间添加个新行,移上去然后移回来,再删除新行? 这种行为也太古怪了吧。
  • 打赏
  • 举报
回复
你的焦点还在这一行上,就不能认为你是编辑结束了吧 或者你可以在cell的事件中将SelectedIndex更改下,再改回来试试?

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧