以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何动态管理目录树  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=7055)

--  作者:leive
--  发布时间:2010/5/10 14:45:00
--  [求助]如何动态管理目录树

通过表格多列内容生成的目录树,想通过窗口的控件显示和修改表格内容,来动态管理目录树

 

单击目录树的节点,相应的窗口控件内显示其节点信息

 

通过代码如何实现



--  作者:狐狸爸爸
--  发布时间:2010/5/10 14:51:00
--  

1、窗口中的控件绑定到表中对应的列

2、首先用buildtree生成目录树。

3、设置目录树的AfterSelect事件代码,定位到单击节点所对应的行,例如:

 

Dim Vals() As String = e.Node.FullPath.Split("\\")
Dim
Filter As String = "[省市] = \'" & Vals(0) & "\' And [县市] = \'" & Vals(1) & "\'"
Tables("表名").Position = Tables("表名").findRow(Filter,0,False)


--  作者:leive
--  发布时间:2010/5/10 15:50:00
--  

 

 

点击一级和二级节点出现如上问题,索引超出了数组界限


--  作者:leive
--  发布时间:2010/5/10 15:52:00
--  
截图不知道怎么放上去
--  作者:leive
--  发布时间:2010/5/10 15:52:00
--  
图片点击可在新窗口打开查看
--  作者:狐狸爸爸
--  发布时间:2010/5/10 15:54:00
--  

你可以判断节点的层级,如果小于2,则退出。

 

If e.Node.Level < 2 then

    Return

End If

Dim Vals() As String = e.Node.FullPath.Split("\\")
Dim
Filter As String = "[省市] = \'" & Vals(0) & "\' And [县市] = \'" & Vals(1) & "\'"
Tables("表名").Position = Tables("表名").findRow(Filter,0,False)


--  作者:leive
--  发布时间:2010/5/10 21:24:00
--  

已经解决,代码如下,非常感谢

 

If e.Node.Level = 0 Then
    Dim Vals() As String = e.Node.FullPath.Split("\\")
    Dim Filter As String = "[一级费用类别] = \'" & Vals(0) & "\' "
    Tables("费用类别").Position = Tables("费用类别").findRow(Filter,0,False)
ElseIf e.Node.Level = 1 Then
    Dim Vals() As String = e.Node.FullPath.Split("\\")
    Dim Filter As String = "[一级费用类别] = \'" & Vals(0) & "\'and [二级费用类别] = \'" & Vals(1) & "\' "
    Tables("费用类别").Position = Tables("费用类别").findRow(Filter,0,False)
ElseIf e.Node.Level = 2 Then
    Dim Vals() As String = e.Node.FullPath.Split("\\")
    Dim Filter As String = "[一级费用类别] = \'" & Vals(0) & "\'and [二级费用类别] = \'" & Vals(1) & "\' and [三级费用类别] = \'" & Vals(2) & "\' "
    Tables("费用类别").Position = Tables("费用类别").findRow(Filter,0,False)
End If


--  作者:狐狸爸爸
--  发布时间:2010/5/10 21:26:00
--  

不错,刚开始就能举一反三,继续努力。

 

图片点击可在新窗口打开查看