Foxtable(狐表)用户栏目专家坐堂 → 删除行的代码释疑?


  共有3589人关注过本帖树形打印复制链接

主题:删除行的代码释疑?

帅哥哟,离线,有人找我吗?
998168
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:241 积分:2208 威望:0 精华:0 注册:2012/11/21 0:48:00
删除行的代码释疑?  发帖心情 Post By:2015/3/30 0:33:00 [只看该作者]

如题,代码如下:

For Each r As Row In CurrentTable.Rows
    r.Delete()
Next

上述代码理应可以删除当前表中所有的行,
(别的删除所有行的代码我也知道有,不用告诉我!只是想知道上述代码 why not 呢?)
可是执行后只能删除奇数行,这个算是 bug 吗?
如不算,那么怎么解释此代码呢?
群中有同学告诉我每执行一次删除后行的集合发生了变化,可我觉得虽然行的集合发生了变化,
可还是遍历所有的行啊!

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2015/3/30 0:37:00 [只看该作者]

遍历删除行只能从后面往前面删除,这不是bug!

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2015/3/30 0:44:00 [只看该作者]

这样删除:

For r As Integer = CurrentTable.Rows.Count-1 To 0 Step -1
    CurrentTable.Rows(r).Delete()
Next


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2015/3/30 0:48:00 [只看该作者]

或者这样:更简洁,清除更干净,一直干到datatable

 

CurrentTable.DataTable.DataRows.Clear


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/30 9:12:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
998168
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:241 积分:2208 威望:0 精华:0 注册:2012/11/21 0:48:00
  发帖心情 Post By:2015/3/30 22:12:00 [只看该作者]

经甜版指导,突然恍然大悟啊!谢谢!也谢谢程版的热心帮助哦!

 回到顶部