DataGridView 如何退出 编辑状态

DataGridView.EndEdit 方法:提交对当前单元格进行的编辑并结束编辑操作。

——————————————————————————————————————————————

在使用bindingSource、bindingNavigator+DataGridView修改时会发现,
当你需要保存修改过后的内容,必须将光标指向另外一行,
DataGridView才会将编辑过后的数据提交到数据缓存区,
那么,就会让客户感觉起来很不方便(无法直接点保存更新)
这两天上网查了几个方法,可行,下面列举一下:

一、最常见的解决办法。
使用select(),或者修改当前单元格索引使光标跳到另外一行。
这种方式有其弊端,那就是当你只有一行数据时,这方法就行不通。
只能在你点保存之前,新增一行空数据,然后将光标移向空数据,保存之后再将这行空数据删除。
这种方式实现起来比较麻烦,不利于快速开发。

二、使用EndEdit()方法
这种方法其实仔细看看和上面的方法其实同出一辙,
唯一不同的是,这是系统自带的方式,当然就不会出现上面出现的问题。
不过这里要注意一下,只有在保存之前bindingSource和DataGridView都使用了EndEdit()方法表格内数据才能成功提交。(只用一个是没有效果的。)

三、在网上看到的比较搞笑的方法
SendKeys.Send( "{ENTER} ")
模拟人工输入“回车”
当时看到觉得挺搞笑,不过这也不失为一种良方。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/daoyuly/archive/2008/11/19/3334259.aspx

以前一直用选择其它行的方式结束编辑当前的行,进而实现保存。

今天突然发现了只要执行这句就好了,无语了,省略N个字。

转自:http://www.cnblogs.com/pksniq/archive/2011/02/16/2102946.html

原文地址:https://www.cnblogs.com/huangfr/p/2180406.html