Foxtable(狐表)用户栏目专家坐堂 → 下拉目录树


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

主题:下拉目录树

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


加好友 发短信
等级:四尾狐 帖子:812 积分:6357 威望:0 精华:0 注册:2013/2/18 17:46:00
下拉目录树  发帖心情 Post By:2024/10/31 12:44:00 [只看该作者]

Object reference not set to an instance of an object.

DropDownBox控件打开目录树错误

 

NodeMouseClick

If e.Node.Level = 1 Then
    Dim tr As Row
    Dim dr As DataRow = e.Node.DataRow
    If e.Form.DropTable IsNot Nothing Then
        tr = e.Form.DropTable.Current
    Else
        Dim nm As String = e.Form.DropDownBox.BindingField
        nm = nm.Split(".")(0)
        tr = Tables(nm).Current
    End If
    tr("工序") = dr("工序")
    tr("工步") = dr("工步")
    e.Form.DropDownBox.Value = tr("工步")
    e.Form.DropDownBox.CloseDropdown()
End If


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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/10/31 13:27:00 [只看该作者]

调试

If e.Node.Level = 1 Then
    Dim tr As Row
msgbox(e.Node.DataRow is nothing)
    Dim dr As DataRow = e.Node.DataRow
    If e.Form.DropTable IsNot Nothing Then
        tr = e.Form.DropTable.Current
    Else
        Dim nm As String = e.Form.DropDownBox.BindingField
        nm = nm.Split(".")(0)
        tr = Tables(nm).Current
    End If
msgbox(tr is nothing)
    tr("工序") = dr("工序")
    tr("工步") = dr("工步")
    e.Form.DropDownBox.Value = tr("工步")
    e.Form.DropDownBox.CloseDropdown()
End If

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


加好友 发短信
等级:四尾狐 帖子:812 积分:6357 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2024/10/31 13:42:00 [只看该作者]


If e.Node.Level = 1 Then
    Dim tr As Row
    msgbox(e.Node.DataRow Is Nothing)          false
    Dim dr As DataRow = e.Node.DataRow
    MessageBox.Show(1) 
    If e.Form.DropTable IsNot Nothing Then
        MessageBox.Show(2)   
        tr = e.Form.DropTable.Current
        MessageBox.Show(3)   
    Else
        Dim nm As String = e.Form.DropDownBox.BindingField
        MessageBox.Show(4)   显示4后,报警 Object reference not set to an instance of an object.
        nm = nm.Split(".")(0)
        MessageBox.Show(5) 
        tr = Tables(nm).Current
        MessageBox.Show(6)
    End If
    msgbox(tr Is Nothing)
    tr("工序") = dr("工序")
    tr("工步") = dr("工步")
    e.Form.DropDownBox.Value = tr("工步")
    e.Form.DropDownBox.CloseDropdown()
End If

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/10/31 13:53:00 [只看该作者]

这个控件没有做绑定

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


加好友 发短信
等级:四尾狐 帖子:812 积分:6357 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2024/10/31 14:16:00 [只看该作者]

能否加一个判断,如果控件没有绑定,就执行e.Form.DropDownBox.Value = dr("工步")


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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/10/31 14:23:00 [只看该作者]

if e.Form.DropDownBox.BindingField > "" then
有绑定
else
无绑定
end if

 回到顶部