以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  目录树问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=176947)

--  作者:实话实说
--  发布时间:2022/5/4 11:40:00
--  目录树问题

这是foxtable自带的示例,我重新组织了数据后,窗口目录树二按钮出错,检查了好几遍数据,没发现错误。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:会计科目√.foxdb


--  作者:程兴刚
--  发布时间:2022/5/4 13:51:00
--  
直接贴代码!
--  作者:有点蓝
--  发布时间:2022/5/4 21:50:00
--  
学会调试

For Each dr As DataRow In dt.Select("", "科目代码")
    If dr.IsNull("科目代码") = False AndAlso dr("科目代码").Length = 4 Then
        Output.Show(dr("科目代码"))
        Dim i As Integer = CInt(dr("科目代码").Substring(0, 1))
        Output.Show("i=" & i )
        nd = tr.Nodes(i).Nodes.Add(dr("科目代码"), dr("科目代码") & " " & dr("科目名称"))
        Functions.Execute("AddChildren",nd,dt)
    End If
Next

目录树根节点只有6个,索引从0~5:Dim rts() As String = {"全部","资产","负债","权益","成本","损益"} 

 dr("科目代码")有6开头的,i=6的时候tr.Nodes(i)出错,因为不存在索引为6的节点

--  作者:实话实说
--  发布时间:2022/5/5 8:54:00
--  
还是不会
--  作者:有点蓝
--  发布时间:2022/5/5 8:58:00
--  
什么地方不会
--  作者:实话实说
--  发布时间:2022/5/5 10:05:00
--  
上面代码不知从哪下手更改
--  作者:有点蓝
--  发布时间:2022/5/5 10:07:00
--  
要么增加一个对应6开头的项目:Dim rts() As String = {"全部","资产","负债","权益","成本","损益","xxxx"} 

要么去掉表格里6开头的科目

--  作者:实话实说
--  发布时间:2022/5/5 10:17:00
--  
明白了,搞定,谢了。