首先datagirdview绑定数据库上的内容,同时加一列CheckBoxColumn选择项,我想要实现,查询出来数据以后点击该行或者多行的CheckBoxColumn按钮,在按一个删除控件,实现删除datagirdview里的内容,同时更新数据库表里的内容,并刷新,我该怎么做,目前绑定数据到datagirdview已经没有问题,就是多行删除的时候删不掉。请大神们告诉下怎么弄吧

解决方案 »

  1.   

    删除倒着删,不要for (int i=0)开始,从 for(int i= xxx.count-1) 开始删除数据库可以同时执行sql的delete
      

  2.   

    用Ilist绑定期dgv,然后选中的时候判断所有选出中的就删了,
    Ilist<user> lst=bll.GetAllUser();
    dgv.datasouse=lst;
    foreach(user usr in lst)
    if(usr.chcked)
    {
    user ur=  dgv.currentrow.databinditem as user
    sqlhelper.exesql(" where xx='"+ur.xx+"'")}
      

  3.   

    for循环遍历,根据每行复选框的值,删除数据源DataTable里的行,再用DataAdapter.Update方法自动更新数据库。
      

  4.   

    用for循环删除dataGridView里的行,可以像1楼所说“倒着删”,也可以“正着删”,方法是每次迭代的最后把循环变量i--,修正逻辑指针i的位置,以防漏删。
    for(int i=0;i<dataGridView.Rows.Count;i++)
    {
    //删除符合条件的行
    i--;
    }
      

  5.   

    准确地说,是
    for(int i=0;i<dataGridView.Rows.Count;i++)
    {
    if(......)
    {
    //删除符合条件的行
    i--;
    }
    }
      

  6.   


    把需要删除的放在一起在delete sql 语句中 使用 in 一次性删除 
      

  7.   


    虽然我不建议用IN 但是放到一起删是最好的做法
    如果你的DataGridview绑定的是对象那么更加简单了