直接上代码
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 5 4
第五条:507 3 3377 5 4
第六条:507 3 3377 6 5
......................................
.....................................
在循环遍历的时候不可以用datatable.Rows.Remove的 因为不能破坏它的结构 因为还要循环下去呢
所以用tablerow.delete() 先标记一下 然后 遍历完之后 在用datatable.AcceptChanges()提交修改
OVER