繁体   English   中英

从数据表中删除包含值的行

[英]Remove row from DataTable that contains value

我想删除一行 CtryCode 等于“MM”的行。 上面这个逻辑不行吗?

if (dataTableCopy.Rows[index]["CtryCode"].ToString().Trim().ToUpper().Contains("MM"))
{
    response.DataTable.Rows.RemoveAt(index + offset--);
}

断点没有命中上面的响应语句,执行后我可以看到MM行,奇怪吗? 请帮忙。

要删除包含值的行试试这个

DataRow[] result = dt2.Select("CtryCode = 'mm'");
foreach (DataRow row in result)
{
    if (row["CtryCode"].ToString().Trim().ToUpper().Contains("MM"))
    dt2.Rows.Remove(row);
}

如果您知道该行的索引,您可以像这样删除该行,

for(int i=0;i<dataTableCopy.Rows.Count-1;i++)
   {        
        if (dataTableCopy.Rows[i]["CtryCode"].ToString().Trim().ToUpper().Contains("MM"))
    {
         dataTableCopy.Rows[i].Delete();
    }
  }

请找到代码:

int id=98;
DataTable dt = new DataTable();
foreach (DataRow row in dt.Rows)
{
    if(row["Id"].ToString().Trim().Contains(id.ToString()))
        dt.Rows.Remove(row);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM