[英]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.