界面/窗体/控件
如何实现带树形结构的组合框和列表框
2005-02-09 10:39:13
"

                        Else

                            strTemp = strTemp & " "

                        End If

                    Else

                       If i = 1 Then

                          strTemp = strTemp & ""

                       Else

                          strTemp = strTemp & " "

                       End If

                    End If

                Next

            End If

            GetNodeText = strTemp & rstrClassName

 

End Function

然后创建一个查询,查询中使用了上面这个自定义函数进行数据格式转换,查询的语法如下。

SELECT GetNodeText([depth],[NextId],[classname]) AS NodeText, *

FROM SoftClass

ORDER BY SoftClass.RootID, SoftClass.OrderID;

最后创建一个新的窗体,在窗体上放置一个组合框及列表框,它们的行来源都设置如下。

SELECT qryClass.NodeText, qryClass.ClassID FROM qryClass;

打开窗体到“窗体视图”状态,可看到带树形结构的组合框和列表框的效果,如图4-30所示。

4-30  带树形结构的组合框和列表框

专家点评

这个例子从查询上实现了树形结构,但在组合框和列表框的实现上还并不完全具备Treeview的所有属性,如双击结点进行展开和收缩、结点图标等。如果要实现展开和收缩功能,需要对组合框和列表框再进行编程,判断当前选择的项目是子结点还是父结点,然后相应改变组合框和列表框行来源对应的查询的内容,再刷新组合框和列表框来实现结点的展开和收缩功能。

(第三方Activex控件-相关文章技巧链接):DBI精品控件系列-ctToolBar.ocx完美破解版 (4.0)-Access可用