日期:2014-05-18  浏览次数:21088 次

如何获取datagridview中新增或删除的行
在保存的时需要对不同状态的行做不同的处理

1.如何判断datagridview中是否有新增或删除的行
2、能否获取新增删除或修改的行



------解决方案--------------------
两个问题其实是一个。。

我现在参与的项目是这么做的,希望能给楼主有所启发。(如下)

1.在datagridview中新加一列,设置它为隐藏列就行了。
2.声明几个标志位。。(0:未修改,1:新增,2:删除,3:修改)
3.对数据进行修改时,同时修改隐藏字段
4.遍历每一行,进行相关操作
------解决方案--------------------
前几天做的东西就涉及到这个了。
1楼兄弟的方法可以 我的方法和他的大同小异,
如果你的gridview显示的不是表中所有列的数据库的话(只绑定了几列) 可以通过没有绑定的列进行判断(但不能是主键),因为当添加新行的时候,没有绑定的列的值会为空(主键除外)。通过这样判断新增的行。

至于删除 你可以在显示数据的时候 记录下显示的行数
最后 在用查找新增航的方法,减去新增的行数,之后和刚开始显示数据时所记录下的数据进行比较 如果少了 那就是删除了。
至于要找到删除了哪一行,就要在显示数据的时候对主键进行保存。之后对操作后的数据的主键进行保存。 最后用保存主键的两个数组进行比较,以刚开始显示时保存的主键数组为基础进行比较。

我是这么做的,可能还有更简便的方法吧。