我有一个数据表
数据表:
SeqNo ItemID ItemName
------- ------ --------
1 10 AAA
2 20 BBB
3 30 CCC
现在我要删除具有SeqNo“3”的行。
现在我在GridView RowCommand事件中这样做:
if (e.CommandName == "Delete")
{
string SeqNo = e.CommandArgument.ToString();
for (int i = 0; i < DTItem.Rows.Count; i++)
{
if (SeqNo == DTItem.Rows[i]["SeqNo"].ToString())
{
DTItem.Rows.Remove(DTItem.Rows[i]);
}
}
}
但是没有循环,如何根据这个条件删除行?
答案 0 :(得分:2)
试
DataRow[] rows = DTItem.Select(" SeqNo = " + SeqNo );
rows[0].Delete();
答案 1 :(得分:0)
如果您确定只有一个且肯定会出现一行,您可以按照以下方式实现
dt1.Rows.Remove(dt1.Select("SeqNo= 3")[0]);
答案 2 :(得分:0)
试试这个:
DataRow[] rows = DTItem.Select("SeqNo = " + SeqNo);
foreach (DataRow row in rows) {
DTItem.Rows.Remove(row);
}
答案 3 :(得分:0)
另一种选择是使用 DataView 实例。
//Set sort key and order
DTItem.DefaultView.Sort = "SeqNo";
DTItem.DefaultView.Delete(DTItem.DefaultView.Find(2));