在使用bindingSource、bindingNavigator+DataGridView修改时会发现,
当你需要保存修改过后的内容,必须将光标指向另外一行,
DataGridView才会将编辑过后的数据提交到数据缓存区,
那么,就会让客户感觉起来很不方便(无法直接点保存更新)
这两天上网查了几个方法,可行,下面列举一下:
一、最常见的解决办法。
使用select(),或者修改当前单元格索引使光标跳到另外一行。
这种方式有其弊端,那就是当你只有一行数据时,这方法就行不通。
只能在你点保存之前,新增一行空数据,然后将光标移向空数据,保存之后再将这行空数据删除。
这种方式实现起来比较麻烦,不利于快速开发。
二、使用EndEdit()方法
这种方法其实仔细看看和上面的方法其实同出一辙,
唯一不同的是,这是系统自带的方式,当然就不会出现上面出现的问题。
不过这里要注意一下,只有在保存之前bindingSource和DataGridView都使用了EndEdit()方法表格内数据才能成功提交。(只用一个是没有效果的。)
三、在网上看到的比较搞笑的方法
SendKeys.Send( "{ENTER} ")
模拟人工输入“回车”
当时看到觉得挺搞笑,不过这也不失为一种良方。