Foxtable(狐表)用户栏目专家坐堂 → 删除后事件有BUG


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

主题:删除后事件有BUG

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


加好友 发短信
等级:幼狐 帖子:145 积分:1382 威望:0 精华:0 注册:2011/8/27 11:08:00
删除后事件有BUG  发帖心情 Post By:2013/12/10 23:41:00 [只看该作者]

删除后事件中是否有BUG?

 

如果删除一行,CurrentTable.Rows.Count  是正确的,

 

但是,如果删除两行,CurrentTable.Rows.Count  则是零?

 

以下代码中的FOR循环,在删除一行时正常工作,

 

但是在删除多行时,则不工作?

 

后发现,在删除多行后,当前表的行数取不到了,变成了零,

 

尽管并不是把所有行都删除!

 

 

If CurrentTable.Name="流程.流程" Then
   Dim n As Integer
   n=1
MessageBox.Show(CurrentTable.Rows.Count )
   For Each r As Row In  CurrentTable.Rows
        r("本级序号")=n 
       
       n=n+1
   Next
Else
End If


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/11 8:28:00 [只看该作者]

你的代码并没有删除行,看起来也没什么问题,不明白你的问题所在,最好能上个例子.

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


加好友 发短信
等级:幼狐 帖子:145 积分:1382 威望:0 精华:0 注册:2011/8/27 11:08:00
  发帖心情 Post By:2013/12/11 9:19:00 [只看该作者]

我的代码是我针对DataRowDeleted 事件写的代码,

其中:

MessageBox.Show(CurrentTable.Rows.Count )
老师可以在任何一个表的

 

DataRowDeleted 事件中响应运行,会发现,在删除一行时,count值是正确的,但若同时删除两行以上,COUNT便不对了。


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/11 9:27:00 [只看该作者]

 使用 MessageBox.Show(e.DataTable.DataRows.Count)  就好了, 事件里尽量都使用E参数吧

Table可能还没来得及更新,所以获取的是0

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


加好友 发短信
等级:幼狐 帖子:145 积分:1382 威望:0 精华:0 注册:2011/8/27 11:08:00
  发帖心情 Post By:2013/12/11 10:02:00 [只看该作者]

可是我要得到的是关联子表被删除多行后余下的行数,而datatable是整个表啊


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/11 10:03:00 [只看该作者]

 datarowdeleting 事件
MessageBox.show(e.DataRow.GetParentRow("表A").GetChildRows("表B").Count-1)

 回到顶部