以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  折叠模式下增加子行相关代码造成系统出错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=190911)

--  作者:wangyu7890
--  发布时间:2024/3/13 17:53:00
--  折叠模式下增加子行相关代码造成系统出错
需要实现的目标是:折叠模式下,增加1个新子行,如果所在的父行是末级子行,则不允许增加下级子行
BeforeAddDataRow内代码:

Dim cr As Row = Tables("flbm").Current \'定义cr 并获得当前行
If cr IsNot Nothing AndAlso Tables("flbm").GridTreeVisible Then \'如果当前处于折叠模式
    If cr("isend") = True Then \'如果父行的末级标志为真,取消新增子行
        MessageBox.show(cr("flbmID"))  ‘输出调试信息,父行有字段数据
        e.Cancel = True       ‘取消新增行
        MessageBox.show("父行为末级,无法新增子行!")
    End If 
End If

上述代码执行后,出现错误:
.NET Framework 版本:4.0.30319.17929
Foxtable 版本:2图片点击可在新窗口打开查看022.8.18.1
错误所在事件:菜单,AddRow,Click
详细错误信息:
Object reference not set to an instance of an object.


请问如何解决?

--  作者:有点蓝
--  发布时间:2024/3/14 9:02:00
--  
bug,已反馈。

这个暂时没有其它替代的方法,要么不要在折叠的时候到BeforeAddDataRow使用e.Cancel = True ;要么不要在折叠模式下新增