DataGridView单元格编辑时,数据保存不上

ggzzhh 2007-07-26 11:06:34
DataGridView绑定了数据源,然后编辑某个单元格后,光标不离开这个单元格,这个单元格的数据就保存不了,或者表只有一行记录时,也保存不了,用了DataGridView的EndEdit()和DataTable的AcceptChanges()都不行
...全文
1453 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zfcomfort 2012-07-21
  • 打赏
  • 举报
回复
顶一个~~感谢,今天刚好遇到这个问题了
yuanchao201212 2012-07-16
  • 打赏
  • 举报
回复 1
加 this.Validate();
pp8988 2011-08-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bigeyescat 的回复:]
编辑某个单元格后,光标不离开这个单元格就保存不上?
那你把DataGridView的当前单元格移走或置空试试...

DataGridView1.EndEdit();

DataGridView1.CurrentCell = null; //加这句试试

DataAdapter.Update(DataTable);
[/Quote]

实用
班门弄斧 2007-09-20
  • 打赏
  • 举报
回复
关注,留个记号!
namhyuk 2007-07-27
  • 打赏
  • 举报
回复
有段时间没碰winform了,不算回复,只当闲聊~

其实DataGridView上编辑数据时,只有移动光标才把改变后的数据提交到绑定的数据源(如DataTable),这种方式还算合理。至少移动到别的单元格时可以触发某些校验验证一下修改后的数据符不符合规范,然后用户输对了才允许移动别的地方。Sql Server 2005也是这个德性~

wpf里倒是有个UpdateSourceMode里可以指定焦点离开时提交,还是修改同时提交的选项,不知道DataGridView里有没有。

还是推荐使用BindingSource作为中间层,.net 2.0 winform里新增的BindingSource不是平白无故出现的东西。我自己甚至很偏执的认为2.0 winform里不用BindingSource或者没搞明白BindingSource都是很不明智的。




ll124993513 2007-07-27
  • 打赏
  • 举报
回复
DataGridView1.CurrentCell = null

UP
vainnetwork 2007-07-27
  • 打赏
  • 举报
回复
你如果不离开当前行的话,修改是不会被提交的。那是,认为你还没修改完,不提交的.
wzd24 2007-07-27
  • 打赏
  • 举报
回复
你如果不离开当前行的话,修改是不会被提交的。
ggzzhh 2007-07-27
  • 打赏
  • 举报
回复
to bigeyescat(大眼猫) 加上DataGridView1.CurrentCell = null;这句就行,谢谢各位
Code従業員 2007-07-27
  • 打赏
  • 举报
回复
光标不离开这个单元格,这个单元格的数据就保存不了,楼主是否使用了焦点来存啊?
我一向都是用代码来读写的,所以对控件不是很清楚了...
QuinsonYue 2007-07-27
  • 打赏
  • 举报
回复
DataGridView1.EndEdit();
//试试加上这句:将焦点放到其它控件上,比如有button1
this.button1.Focus();
bigeyescat 2007-07-26
  • 打赏
  • 举报
回复 1
编辑某个单元格后,光标不离开这个单元格就保存不上?
那你把DataGridView的当前单元格移走或置空试试...

DataGridView1.EndEdit();

DataGridView1.CurrentCell = null; //加这句试试

DataAdapter.Update(DataTable);
ggzzhh 2007-07-26
  • 打赏
  • 举报
回复
DataGridView绑定DataSource是个DataTable,在表格上面编辑内容,然后点按钮保存,
按钮里的代码就是这样
DataGridView1.EndEdit();
DataAdapter.Update(DataTable);
但还是没保存上
namhyuk 2007-07-26
  • 打赏
  • 举报
回复
DataGridView绑定BindingSource,BindingSource再绑定DataSource.

点击保存按钮时:
BindingSource.EndEdit();
DataAdapter.Update

试试.

110,983

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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