以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 删除行的代码释疑? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=66085) |
-- 作者:998168 -- 发布时间:2015/3/30 0:33:00 -- 删除行的代码释疑? 如题,代码如下: For Each r As Row In CurrentTable.Rows r.Delete() Next 上述代码理应可以删除当前表中所有的行, (别的删除所有行的代码我也知道有,不用告诉我!只是想知道上述代码 why not 呢?) 可是执行后只能删除奇数行,这个算是 bug 吗? 如不算,那么怎么解释此代码呢? 群中有同学告诉我每执行一次删除后行的集合发生了变化,可我觉得虽然行的集合发生了变化, 可还是遍历所有的行啊!
|
-- 作者:程兴刚 -- 发布时间:2015/3/30 0:37:00 -- 遍历删除行只能从后面往前面删除,这不是bug! |
-- 作者:程兴刚 -- 发布时间:2015/3/30 0:44:00 -- 这样删除: For r As Integer = CurrentTable.Rows.Count-1 To 0 Step -1 |
-- 作者:程兴刚 -- 发布时间:2015/3/30 0:48:00 -- 或者这样:更简洁,清除更干净,一直干到datatable
CurrentTable.DataTable.DataRows.Clear |
-- 作者:有点甜 -- 发布时间:2015/3/30 9:12:00 --
|
-- 作者:998168 -- 发布时间:2015/3/30 22:12:00 -- 经甜版指导,突然恍然大悟啊!谢谢!也谢谢程版的热心帮助哦! |