如果把datatable 作为数据源绑定到datagridview控件。界面操作后更新数据库。
   本来,我是想根据数据源的行状态来自己判断并生成sql语句的。
  所以得符合如下逻辑要求:
   1  如果有一行  用户新增了,然后又删掉了。那么这行 应该不做处理。
   2 如果原来就存在一行,用户删掉了,那么这行应该是状态为delete。生成delete sql语句。
   3 如果原来一行,用户删掉了,后来用户又加上了。从操作看,是用户自己的误操作。但此行目前我只能视为删除一行然后新增一行生成两条sql 一条delete 一条insert 。
     
     但是,在界面操作时存在一些关系,目前比较迷糊。
     1  在界面上,delete键删除一行时,对应的datatable中对应的datarow  是row.delete() 还是dt.rows.remove(row)???
     2  如果用代码,删除按钮用一个button  里面是row.delete() 。简单试了一下,但发现删除的时候有问题。也许是delete()过的行在数据源中的索引仍然不变。导致操作的时候界面上有的行不能真正删除。
     3 在真正想删除一行时,如上面的1。似乎应该是dt.rows.remove(row)是符合自己需要的。============最新测试了下=============================
     作为参考:
                 新增的行  用键盘delete时,数据源。rows.count 减少。 delete原来存在的行,则不变。----------所以,问题是
   该如何写代码,能通过代码删掉真正界面看到的行?象delete键实现的那样。