请问如何在DataSet中删除一条记录?(有条件的删除)
删除指定的记录。
谢谢
问题点数:40、回复次数:10Top
1 楼liulxmooo(娃娃)回复于 2005-02-01 14:59:00 得分 0
upTop
2 楼LoveCherry(论成败,人生豪迈;大不了,重头再来!^_^)回复于 2005-02-01 14:59:19 得分 0
使用 Remove 方法删除在 DataRowCollection 对象中找到的行。该示例首先使用 Contains 方法确定行集合中是否包含某一行。如果包含,则使用 Find 方法查找特定行,然后使用 Remove 方法移除该行。
Top
3 楼morefish(little)回复于 2005-02-01 15:00:08 得分 0
简单的话,在每个DataSet中加一个删除按钮,绑定事件。Top
4 楼senkyshiw(senkyshiw)回复于 2005-02-01 15:13:28 得分 0
不行,玩不来,太高级了Top
5 楼senkyshiw(senkyshiw)回复于 2005-02-01 15:23:03 得分 0
请那位大虾,帮帮忙Top
6 楼chrislv(小吕)回复于 2005-02-01 15:24:48 得分 0
DataSet.DateTable[0].Row[n].delete();Top
7 楼senkyshiw(senkyshiw)回复于 2005-02-01 15:34:12 得分 0
还是用循环吧,谢谢各位Top
8 楼lilingcentury(秦人)回复于 2005-02-01 15:44:39 得分 0
应该很简单的啊,查询到这一行记录,然后直接delete啊Top
9 楼manonroad(唧唧嘎嘎)回复于 2005-02-01 18:44:28 得分 10
先找到相应的row,可以用find()等,有可以用坐标等。然后用row.delect()就可以删除了。用remove()或者removeAt()有时侯并不安全,尤其是你删除一行后,可能又要进行其他的处理,这是可能会出错。因为你前面要删除的行还存在于你的表格中。建议用delete()。Top
10 楼ipqn(i.Posei)回复于 2005-02-01 19:01:29 得分 30
今天刚写的程序涉及到这个东西!
我是这样的!
如果是只删除一个条件符合的!
foreach(DataRow drCode in CodeRows)
{
if (drCode[0].ToString()==nif.CodeID)
{
CodeRows.Remove(drCode);
break;
}
}
如果要删除多个符合条件的!
for (int ii=0;ii<CodeRows.Count;ii++)
{
if (CodeRows[ii][2].ToString()==nif.LangSort)
CodeRows.Remove(CodeRows[ii]);
}
CodeRows是这么定义的!
private DataRowCollection CodeRows;
删除多个符合条件的,不能用foreach,应为remove后,CodeRows的内容就变了,循环没法继续执行!
即使在只删除一个符合添加的情况下,在remove后,要用break;
Top




