繁体   English   中英

如何在Datatable ASP.NET C#中查找和删除DataRow?

[英]How to Find and delete DataRow in Datatable asp.net c#?

string s = "primaryKeyValue";
DataRow foundRow = dataSet1.Tables["AnyTable"].Rows.Find(s);

if (foundRow != null) 
{
    foreach(DataRow r in dataTable)
    {
        if(r == foundRow)
           r.Delete();
    }
}
dataTable.AcceptChanges();

dataTable和dataSet1.Tables [“ AnyTable”]是不同的表。 dataTable是dataSet1.Tables [“ AnyTable”]的克隆

此代码无法正常工作。如果有人知道如何“查找和删除数据表中的行”,请告诉我。 提前致谢

您可以使用indexOf而不是返回所有记录来delete数据。 您已经知道要删除哪一行。

我认为您直接从Pk删除了一条记录,此代码性能更高。

您必须在表上设置PK

 ds.Tables["AnyTable"].PrimaryKey = new[] { dt.Columns["YourPKcolumn"] }; 
        DataRow dr =  ds.Tables["AnyTable"].Rows.Find(PrimaryKeyValue); 
        int idx =  dt.Rows.IndexOf(dr);
        dt.Rows.RemoveAt(idx);
        ds.Tables["AnyTable"].AcceptChanges();

请尝试这个。

var datatable = new DataTable(); // take your datatable
string s = "primaryKeyValue";
DataRow[] row = datatable.Select("name='" + s + "'");
for (int i = row.Length - 1; i >= 0; i--)
{
    datatable.Rows.Remove(row[i]);
}
datatable.AcceptChanges();

暂无
暂无

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

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