谢谢狐爸。
忙了几个小时,终于把目录树的效果搞出来了。
但还有二个问题:
1、目录树的“大队”、“小队”前面,显示了目录树编号,影响了效果。不知道如何去除。
此主题相关图片如下:目录树.jpg

2、双击目录树节点后,需要把相关的“单位编号”及“单位名称”填入到“ryxx”表中当前行对应的列中。
我写的代码不成功,能否可以修改:
内部函数:
Dim nd As WinForm.TreeNode = args(0)
Dim dt As DataTable = args(1)
For Each dr As DataRow In dt.DataRows
Dim km As String = dr("目录树编号")
If km.StartsWith(nd.name) AndAlso km.Length = nd.Name.Length + 1 Then
Dim cd As Winform.TreeNode = nd.Nodes.Add(km,km & " " & dr("单位名称"))
Functions.Execute("AddChildren",cd,dt)
End If
Next
窗口调入代码:
Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode
Dim dt As DataTable = DataTables("单位编号表")
tr.StopRedraw()
tr.Nodes.Clear
tr.Nodes.Add("上级单位")
For Each dr As DataRow In dt.datarows
If dr.IsNull("目录树编号") = False AndAlso dr("目录树编号").Length = 1 Then
' nd = tr.Nodes.Add(dr("目录树编号"),dr("目录树编号") & " " & dr("单位名称"))
' nd = tr.Nodes.Add(dr("目录树编号"),dr("单位编号") & " " & dr("单位名称"))
nd = tr.Nodes.Add(dr("目录树编号"), dr("单位名称"))
Functions.Execute("AddChildren",nd,dt)
End If
Next
tr.ResumeRedraw()
目录树双击的代码:
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
If e.Node.Name = "上级单位" Then
Tables("ryxx").Current("单位编号")="00000"
Tables("ryxx").Current("单位名称")="上级单位"
Else
Tables("ryxx").Current("单位名称")=e.Node.Name
'Tables("ryxx").Current("单位编号")= '这里需要写入单位编号的代码.
End If
e.Form.Close
项目文件如下:
access数据库文件(见一楼)
[此贴子已经被作者于2013-5-7 11:47:27编辑过]