首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

依据单元格的值删除datatable中此单元格所在的行

2013-02-24 
根据单元格的值删除datatable中此单元格所在的行。我想根据单元格的值删除datatable中此单元格所在的行。if

根据单元格的值删除datatable中此单元格所在的行。
我想根据单元格的值删除datatable中此单元格所在的行。



if (listAttr.Count > 0)
                {
                    string attr = "";
                    for (int k = 0; k < dt.Rows.Count; k++)
                    {
                        if (listAttr.Contains(dt.Rows[k]["flngitemid"].ToInt()))
                        {
                            for (int i = 0; i < listAttr.Count; i++)
                            {
//这里会出现问题,delete之后,dt.Rows.Count随之改变,虽然不会报错,但是数据是错误的
                                dt.Rows[k].Delete();
                      }
                        }
                    }
                }

有人能帮忙解决一下吗。
[解决办法]
一般要删除的时候付个删除标签,例如.IsDelete = true这样,显示的时候判断下
[解决办法]
list中的索引应该和datable中的索引是一样的吧,只要你没有对table进行过select等,那么,直接根据索引移除table中的row就行了
[解决办法]
 var row = dt.Rows.OfType<DataRow>().Where(t => t.Field<string>("id") == "2").ToList();
            row.ForEach(T => dt.Rows.Remove(T));//将id为2的行删除

热点排行