社区
C#
帖子详情
修改dataGridView中数据后,点击保存按钮后,发现数据源并没发现改变
tank_2009
2009-10-22 04:32:57
dataGridView与dataTable进行了绑定
当我修改了第一行的数据 ,点击工具栏的保存,发现dataTable中对应的数据并没有改变
需要把鼠标点击一下其他行,dataTable中数据才会有改变 ,这是怎么回事呢?有什么办法可以解决吗?
...全文
259
9
打赏
收藏
修改dataGridView中数据后,点击保存按钮后,发现数据源并没发现改变
dataGridView与dataTable进行了绑定 当我修改了第一行的数据 ,点击工具栏的保存,发现dataTable中对应的数据并没有改变 需要把鼠标点击一下其他行,dataTable中数据才会有改变 ,这是怎么回事呢?有什么办法可以解决吗?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tank_2009
2009-10-22
打赏
举报
回复
谢谢Dobzhansky 和 马宝兄
两种方法都可以。
SAMINCsharp
2009-10-22
打赏
举报
回复
不知道你用得是VS 2005 还是多少,我刚用VS2005做了个试验,当我鼠标不离开编辑的地方,直接按保存按钮,通过断点,我看到修改已经被保存在Table中了,建议你在保存按钮那设个断点,看看此时的DataTable的值又没变
private void btn2_Click(object sender, EventArgs e)
{
DataTable table = this.dataGridView1.DataSource as DataTable;
}
风之影子
2009-10-22
打赏
举报
回复
在你点击保存后,加上下面的这句.
this.datagridview1.EndEdit();
Dobzhansky
2009-10-22
打赏
举报
回复
绑定机制默认就是这样的, 但是往往不符合现实中的习惯
人们编辑后, 通常兵不离开编辑框, 或者离开 datagridview 中的行,
导致本行数据没有反映到 DataTable 中,
这个可以折中处理, 就是在 点击保存的时候做以下事情:
bs.CurrencyManager.EndCurrentEdit();
bs 是 BindingSource. 来结束当前编辑操作, 这会提交ui数据到数据源,
如果使用的 数据源不是 BindingSource,
CurrencyManager 可以通过 控件的 BindingContext["s数据源名称"] 来得到.
chaozhixiao
2009-10-22
打赏
举报
回复
修改后重新绑定下?
tank_2009
2009-10-22
打赏
举报
回复
[Quote=引用 2 楼 libinguest 的回复:]
因为你没有退出编辑模块.
[/Quote]
但是我已经点击工具栏上面的按钮了,怎么会认为是没有退出编辑模块呢?
就算是这样吧,应该怎样解决呢?用户不希望数据更改后,再去点一下别的行,再点“保存”
大家帮帮忙!!谢谢。
VistaKobe
2009-10-22
打赏
举报
回复
[Quote=引用 2 楼 libinguest 的回复:]
因为你没有退出编辑模块.
[/Quote]
恩
风之影子
2009-10-22
打赏
举报
回复
因为你没有退出编辑模块.
kettle
2009-10-22
打赏
举报
回复
问题说明白点哇。
C#
DataGridView
添加
修改
删除 加载图片
C#
DataGridView
最简单的 添加
修改
删除 加载图片
DataGridView
(vb.net)
(vb.net)
DataGridView
对
数据
库的增删改查 成功的例子,附带
数据
库
DataGridView
控件的操作
完全再
DataGridVIew
中
对
数据
直接 操作
datagridview
打勾
datagridview
一个很好的打勾勾选列
datagridview
实例
datagridview
可以实现
数据
库的一些增加,删除,
修改
操作
C#
111,092
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章