以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 删除后事件有BUG (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43586) |
-- 作者:instone -- 发布时间:2013/12/10 23:41:00 -- 删除后事件有BUG 删除后事件中是否有BUG?
如果删除一行,CurrentTable.Rows.Count 是正确的,
但是,如果删除两行,CurrentTable.Rows.Count 则是零?
以下代码中的FOR循环,在删除一行时正常工作,
但是在删除多行时,则不工作?
后发现,在删除多行后,当前表的行数取不到了,变成了零,
尽管并不是把所有行都删除!
If CurrentTable.Name="流程.流程" Then |
-- 作者:Bin -- 发布时间:2013/12/11 8:28:00 -- 你的代码并没有删除行,看起来也没什么问题,不明白你的问题所在,最好能上个例子. |
-- 作者:instone -- 发布时间:2013/12/11 9:19:00 -- 我的代码是我针对DataRowDeleted 事件写的代码, 其中: MessageBox.Show(CurrentTable.Rows.Count )
DataRowDeleted 事件中响应运行,会发现,在删除一行时,count值是正确的,但若同时删除两行以上,COUNT便不对了。 |
-- 作者:Bin -- 发布时间:2013/12/11 9:27:00 -- 使用 MessageBox.Show(e.DataTable.DataRows.Count) 就好了, 事件里尽量都使用E参数吧 Table可能还没来得及更新,所以获取的是0
|
-- 作者:instone -- 发布时间:2013/12/11 10:02:00 -- 可是我要得到的是关联子表被删除多行后余下的行数,而datatable是整个表啊 |
-- 作者:Bin -- 发布时间:2013/12/11 10:03:00 -- datarowdeleting 事件
MessageBox.show(e.DataRow.GetParentRow("表A").GetChildRows("表B").Count-1) |