UserBll bll = new UserBll();
            IList<Users> lst = bll.GetAllUsers();
            dataGridView1.DataSource = lst;像这样的,我给dgv一个Ilist集合,然后我再对这个集合进行一些增删改的操作,我想一次性的保存到数据库,要怎么实现呢
我一次不止操作一行数据哟
网上看到不少都是对一行进行增删改,想对多行操作就麻烦了,别告诉我让我全部清空数据库中原有的,再全部一行行的插入
求高手指明点更好的办法

解决方案 »

  1.   

    你还是在CellEdit事件中记录增删改的行数据索引,然后再执行相应的sql语句进行增删改来的实际些
      

  2.   

    照你这个说,比如我现在,我添加了一行,行号是5,我又把第四行改了,第三行我也改了,
    保存的时候我就算知道是那几行,可是也难知道是添加还是修改吧
    并且还要来个if(添加){添加}if(修改){修改}对吧,感觉不是很好
      

  3.   

    主要是一行一行的删了再加,你不觉得浪费吗?
    难道这iList<T>绑定的就不能多行增删改了??
      

  4.   

    你dataGridView绑定的不是数据集,list跟数据库无任何关系你怎么直接更新到数据库呢,如果是数据库,可以用adapter去更新,你这种情况,我也只能通过sql去更新了,遍历一下,insert有什么不好吗
      

  5.   

    请教一下,很多地方,都用Ilist<T>来绑定到DGV,这么说这种绑定只是显示的作用了?
      

  6.   

    UserBll 在时面写个状态吧 比如  State  = 删除 or 修改  等等  然后批量理改数据库吧!
     
      

  7.   

    gridview本身也就显示,要编辑批量提交不好弄,或者你给每个T一个标识,在提交的时候过滤一下。
      

  8.   

    批量编辑结合sql08的merge,这样好做点,不然存储过程太难看了。