添加了如下代码:
Public Sub tree_change() '定义添加树状列表函数
Dim key, text, bh As String
Dim nod As Node
Adodc1.RecordSource = "select* from 商品基础信息表 order by 商品编号"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
Adodc1.Recordset.MoveFirst
Do While Adodc1.Recordset.EOF = False
If Len(Trim(Adodc1.Recordset.Fields("商品编号"))) = 2 Then
key = Trim(Adodc1.Recordset.Fields("本级名称"))
text = "(" & Trim(Adodc1.Recordset.Fields("商品编号")) & ")" & Trim(Adodc1.Recordset.Fields("本级名称"))
Set node1 = TreeView1.Nodes.Add(, , key, text, 1)
End If
If Len(Trim(Adodc1.Recordset.Fields("商品编号"))) = 4 Then
key = Trim(Adodc1.Recordset.Fields("本级名称"))
text = "(" & Trim(Adodc1.Recordset.Fields("商品编号")) & ")" & Trim(Adodc1.Recordset.Fields("本级名称"))
Set node2 = TreeView1.Nodes.Add(node1.Index, tvwChild, key, text, 2)
End If
If Len(Trim(Adodc1.Recordset.Fields("商品编号"))) = 7 Then
key = Trim(Adodc1.Recordset.Fields("本级名称"))
text = "(" & Trim(Adodc1.Recordset.Fields("商品编号")) & ")" & Trim(Adodc1.Recordset.Fields("本级名称"))
Set node3 = TreeView1.Nodes.Add(node2.Index, tvwChild, key, text, 3)
End If
Adodc1.Recordset.MoveNext
Loop
End If
End Sub程序运行起来似乎也没有提示出错,但是在treeview的框中没有显示任何东西白白的一片,不明白啊。。
Public Sub tree_change() '定义添加树状列表函数
Dim key, text, bh As String
Dim nod As Node
Adodc1.RecordSource = "select* from 商品基础信息表 order by 商品编号"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
Adodc1.Recordset.MoveFirst
Do While Adodc1.Recordset.EOF = False
If Len(Trim(Adodc1.Recordset.Fields("商品编号"))) = 2 Then
key = Trim(Adodc1.Recordset.Fields("本级名称"))
text = "(" & Trim(Adodc1.Recordset.Fields("商品编号")) & ")" & Trim(Adodc1.Recordset.Fields("本级名称"))
Set node1 = TreeView1.Nodes.Add(, , key, text, 1)
End If
If Len(Trim(Adodc1.Recordset.Fields("商品编号"))) = 4 Then
key = Trim(Adodc1.Recordset.Fields("本级名称"))
text = "(" & Trim(Adodc1.Recordset.Fields("商品编号")) & ")" & Trim(Adodc1.Recordset.Fields("本级名称"))
Set node2 = TreeView1.Nodes.Add(node1.Index, tvwChild, key, text, 2)
End If
If Len(Trim(Adodc1.Recordset.Fields("商品编号"))) = 7 Then
key = Trim(Adodc1.Recordset.Fields("本级名称"))
text = "(" & Trim(Adodc1.Recordset.Fields("商品编号")) & ")" & Trim(Adodc1.Recordset.Fields("本级名称"))
Set node3 = TreeView1.Nodes.Add(node2.Index, tvwChild, key, text, 3)
End If
Adodc1.Recordset.MoveNext
Loop
End If
End Sub程序运行起来似乎也没有提示出错,但是在treeview的框中没有显示任何东西白白的一片,不明白啊。。
解决方案 »
- VB怎么选择网页中的li下拉菜单?
- 怎样用VB.NET写和调用DLl窗体?
- (急!)在vb里,把一個excel文件里的其中一個sheet拷貝到另一個excel文件里去?下面的程序總是出錯,幫忙~
- 让控件在FORM的RESIZE事件中也变化为什么看着抖动很大
- vb 或java 如何将对象转换成流
- vb错误处理机制class,form ,module时有什么区别
- VB和DELPHI的比较
- 请问VB中有没有和QB中inkey$一样的函数,谢谢
- 请问WIN32API中的GETCAPTURE函数怎么用?
- 在RICHTEXTBOX中如何把字符设置成上标或下标?SelCharOffset 属性怎么用的?
- DataGrid控件已绑定到adodc控件,动态改变adodc记录源后,DataGrid不显示,调试窗口显示"下标越界 "
- 在VB中查询Access数据库将记录结果写入EXCEL打印
2,函数声明请用标准式样,Public Sub tree_change() 这样子很可能当成一个事件了
你可以public sub loadtreedate()这样去声明public sub commnad_click()这相当于command的click事件.3,代码层次非常不清楚,除掉判断,我几乎没看见父层的加入我建议是你先加入你3个判断的父层,然后分别加入子层,treeview是一层层去加入,子层是根据父层的key去确定的,而你的node2.Index这样做为key是代码什么意思,望天=_=
给你一个参考代码:Public Sub LoadData()
Dim Node As Node
Dim i As Integer With Me.TreeView1
.Nodes.Clear '连接第一层总部门
Set Node = .Nodes.Add(, , "R0", "总部门")
Node.Selected = True '加载二级部门
If rs.State <> adStateClosed Then rs.Close
rs.Open "select BID,Branchone from Branch", Conn, adOpenStatic, adLockOptimistic For i = 1 To rs.RecordCount
Set Node = .Nodes.Add("R0", tvwChild, "B" & rs(0), rs("Branchone"))
rs.MoveNext
.Nodes(i).Expanded = True
Next
rs.Close '加载三级部门
rs.Open "select * from VBranch", Conn, adOpenStatic, adLockOptimistic
For i = 1 To rs.RecordCount
If rs("Branchone") <> rs("BranchTwo") Then
Set Node = .Nodes.Add("B" & rs("BID"), tvwChild, "C" & rs("BranchID"), rs("BranchTwo")) End If
.Nodes(i).Expanded = True
rs.MoveNext
Next
rs.Close
End With
End Sub