记一次datatable的删除操作

直接上代码

                int proid1 = 0;
                foreach (DataRow row1 in tables.Rows)
                {
                    if (Convert.ToInt32(row1["ProID"]) == proid1)
                    {
                        row1.Delete();
                        //tables.Rows.Remove(row1);
                    }
                    else
                    {
                        proid1 = Convert.ToInt32(row1["ProID"]);
                    }
                }
                //提交已修改的datatable
                tables.AcceptChanges();

下边 如果第一列(505  506  507)有两条数据 删除掉6的那一条 保留5的那一条

第一条:505 3 3377 5 4
第二条:505 3 3377 6 5

第三条:506 3 3377 4

第五条:507 3 3377 4
第六条:507 3 3377 5

......................................

.....................................

在循环遍历的时候不可以用datatable.Rows.Remove的 因为不能破坏它的结构 因为还要循环下去呢

所以用tablerow.delete() 先标记一下 然后 遍历完之后 在用datatable.AcceptChanges()提交修改

OVER

原文地址:https://www.cnblogs.com/0banana0/p/2455727.html