|
TreeView控件是个非常常用的控件,特别是在分层数据结构中采用TreeView控件显示是非常直观的。但是它的使用又比较的复杂,网上有很多关于怎样使用TreeView控件的文章和教程,都是讲方法的需要很长时间的摸索和学习。怎样更快捷的使用TreeView控件,而不必抱着厚厚的书本啃呢?这里提供了个加载TreeView控件的函数,只需要在使用TreeView控件的窗体的加载事件或打开事件中,加上一句调用该函数的语句就可以了。
当然该函数还有些局限性:只能使用来自一个表的数据,同时该数据表必需有3个必需的字段(字段的数据类型有一定的要求),适用于数据分层不确定的结构当中。
函数分为一个主函数,一个子函数,采用的是ADO和递归子函数加载子节点,孙节点……
调用示例:Call AddMyTree(xTree, "动物类别", "上级类别", "类别ID", "类别名称")
注意事项:xTree是控件名称,在调用函数时不能加引号
由于时间比较仓促,可能会有错误,请大家指正。
Function AddMyTree(ByVal objTree As Object, ByVal strTable As String, _
ByVal strFather As String, ByVal strChildren As String, _
ByVal strText As String)
'===============================================================================
'-函数名称: AddMyTree
'-功能描述: 加载TreeView,使用时需要调用AddMyTreeChildren子函数
'-输入参数说明: 参数1: 必选 objTree As Object TreeView控件名称
' 参数2: 必选 strTable As String TreeView控件数据来源的表名
' 参数3: 必选 strFather As String 父节点字段名称 字段类型为数字
' 参数4: 必选 strChildren As String 子节点字段名称 字段类型为自动编号
' 参数5: 必选 strText As String 节点文本字段的名称 字段类型为文本
'-返回参数说明:
'-使用语法示例: Call AddMyTree(xTree, "动物类别", "上级类别", "类别ID", "类别名称")
'-参考:
'-使用注意: objTree 为TreeView控件名称,使用时不能加引号
' strTable为数据表名称,不能使用SQL语句,但可以使用查询名称
'-兼容性: 2000,XP,2003 compatible
'-作者: fan0217@163.com
'-更新日期: 2006-02-26
'===============================================================================
'On Error GoTo Err_AddMyTree
Dim conn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim strSQL As String
Dim nodCurrent As Node
Dim book As Variant
Dim strFind As String
'设置conn连接对象为当前打开的连接
Set conn = CurrentProject.Connection
'设置查询语句
strSQL = "SELECT * FROM [" & strTable
strSQL = strSQL & "] WHERE " & strFather & "=0;"
'设置记录集对象的内容,通过Open方法建立只读一个记录集
rst.Open strSQL, conn, adOpenStatic, adLockReadOnly
'使用循环语句
Do While Not rst.EOF
'向TreeView控件中载入数据
Set nodCurrent = objTree.Nodes.Add(, , "a" & rst(strChildren), rst(strText), 1, 2)
'调用子函数,加入子节点
AddMyTreeChildren objTree, strTable, strFather, strChildren, strText, nodCurrent
'移动指针
rst.MoveNext
Loop
rst.Close
Set rst = Nothing
Set conn = Nothing
Exit_AddMyTree:
Exit Function
Err_AddMyTree:
Set rst = Nothing
Set conn = Nothing
MsgBox Err.Description, vbCritical, "AddMyTree"
Resume Exit_AddMyTree
End Function
Function AddMyTreeChildren(ByVal objTree As Object, ByVal strTable As String, _
ByVal strFather As String, ByVal strChildren As String, _
ByVal strText As String, nodBoss As Node)
'===============================================================================
'-函数名称: AddMyTreeChildren
'-功能描述: 加载TreeView,为AddMyTree函数的子函数,使用时需要与AddMyTree配合使用
'-输入参数说明:
'-返回参数说明:
'-使用语法示例:
'-参考:
'-使用注意: 使用本函数时请保留函数信息内容
'-兼容性: 2000,XP,2003 compatible
'-作者: fan0217@163.com
'-更新日期: 2006-02-26
'======================================================== |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|