Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
通过表格多列内容生成的目录树,想通过窗口的控件显示和修改表格内容,来动态管理目录树
单击目录树的节点,相应的窗口控件内显示其节点信息
通过代码如何实现 |
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)
点击一级和二级节点出现如上问题,索引超出了数组界限
你可以判断节点的层级,如果小于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)
已经解决,代码如下,非常感谢
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
不错,刚开始就能举一反三,继续努力。