以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  下拉窗体录入错误  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=114015)

--  作者:rgbjwjb
--  发布时间:2018/1/26 16:28:00
--  下拉窗体录入错误
在打开“预算资金申请单维护”窗体后,点击下拉组合框“项”后,相应的类款项不能筛选录入,并出现如下错误提示:
错误所在事件:窗口,下拉窗体,TreeView1,NodeMouseClick
详细错误信息:
未将对象引用设置到对象的实例。
我也检查了的。
请指教如何修改。谢谢!



--  作者:有点甜
--  发布时间:2018/1/26 16:32:00
--  
贴出你 NodeMouseClick 事件的代码。
--  作者:rgbjwjb
--  发布时间:2018/1/26 18:35:00
--  
If e.Node.Level = 2 Then \'如果单击的是第三层节点
    Dim tr As Row = Tables("预算资金申请单").Current
    Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的DataRow
    tr("类") = dr("类")
    tr("款") = dr("款")
    tr("项") = dr("项")
    e.Form.DropDownBox.Value = tr("项")
    e.Form.DropDownBox.CloseDropdown()
End If

--  作者:有点甜
--  发布时间:2018/1/26 18:36:00
--  

改成这样,看弹出什么

 

If e.Node.Level = 2 Then \'如果单击的是第三层节点
    Dim tr As Row = Tables("预算资金申请单").Current
msgbox(tr is nothing)
    Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的DataRow
msgbox(dr is nothing)
    tr("类") = dr("类")
    tr("款") = dr("款")
    tr("项") = dr("项")
    e.Form.DropDownBox.Value = tr("项")
    e.Form.DropDownBox.CloseDropdown()
End If

--  作者:rgbjwjb
--  发布时间:2018/1/26 19:36:00
--  
我是复制的递归函数来生成的筛选功能树(字段:父键,键,标题)
--  作者:rgbjwjb
--  发布时间:2018/1/26 20:57:00
--  
分别是:false,true
--  作者:有点蓝
--  发布时间:2018/1/26 21:20:00
--  
手工创建的树节点不会有e.Node.DataRow值:http://www.foxtable.com/webhelp/scr/2689.htm

生成数节点的时候使用主键给treenode.name命名,然后点击事件通过treenode.name到表格使用find查询DataRow

--  作者:rgbjwjb
--  发布时间:2018/1/26 21:53:00
--  
我还是看不懂,请帮忙把代码修改一下,谢谢!!
--  作者:有点蓝
--  发布时间:2018/1/26 22:28:00
--  
生成树的代码发上来

If e.Node.Level = 2 Then \'如果单击的是第三层节点
    Dim tr As Row = Tables("预算资金申请单").Current
    Dim dr As DataRow = datatables("表A").Find("主键=\'" & e.node.name & "\'")
if dr isnot nohting
    tr("类") = dr("类")
    tr("款") = dr("款")
    tr("项") = dr("项")
    e.Form.DropDownBox.Value = tr("项")
    e.Form.DropDownBox.CloseDropdown()
endif
End If

--  作者:rgbjwjb
--  发布时间:2018/1/28 15:45:00
--  
我想将“委托支付凭证”表中的大写金额,分拆成“千万、佰万、拾万、千元、佰元、拾元、元、角、分”,我在datacolchanged事件中利用chars试过,就是出现错误,请指教,谢谢!!