[原创]18行代码实现无限级填充TreeView的例子与函数
2007-09-01 16:16
351 查看
做的时候在网站找了N个小时的代码也没找见比较短小的代码,索性自已写了一个,功能是可以无限级分类填充TreeView.
'//调用时使用LoadTree(TreeView1.Nodes,0) 参数1表示当前的节目级别.0表示为根节点,参数2为父分类ID,0表示顶级分类,
'//以下是代码,VB.NET 2.0,2.0和1.1基本上是一致的,在语法上没多大的区别.
'//从数据库中读取分类信息加载分类到列表框中.
Private Sub loadTree(ByVal Nodes As TreeNodeCollection, ByVal lbID As Integer)
'获得各级分类
Dim sNode As Integer = -1
Dim CmdText As String = "Select * From sys_lb where FolderID=" + lbID.ToString + " Order by ID"
Dim Ds As DataSet = New DataSet
Dim Dr As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter(CmdText, SqlConn)
Dr.Fill(Ds)
If Ds.Tables(0).Rows.Count > 0 Then
'加载节点
Dim I As Integer
For I = 0 To Ds.Tables(0).Rows.Count - 1
sNode += 1
Dim mylbName As String = Ds.Tables(0).Rows(I).Item("lbName").ToString
Dim mylbID As String = Ds.Tables(0).Rows(I).Item("ID").ToString
Nodes.Add(mylbID, mylbName)
'读取当前节点的子节点加载
loadTree(Nodes(sNode).Nodes, CInt(mylbID))
Next
End If
TreeView1.ExpandAll()
End Sub
'//Sys_lb表的结构:
CREATE TABLE [dbo].[sys_lb] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[lbName] [varchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[lbInfo] [varchar] (120) COLLATE Chinese_PRC_CI_AS NULL ,
[folderID] [int] NOT NULL
) ON [PRIMARY]
GO
'//ID为自动编号Int类型,LbName为分类名称,LbInfo为分类说明,该列您可以修改或是删除它.FolderID存储父级分类ID
相关文章推荐
- (原创)用重载实现 treeview 的无限分类递归调用(图)
- Asp.net treeview实现无限级树实现代码
- Asp.net treeview实现无限级树实现代码
- 使用TreeView实现无限级扩展节点(原创)
- Asp.net 2.0 Treeview 动态填充,并实现无限级树
- Asp.net 2.0 Treeview 动态填充,并实现无限级树
- 20行代码打造MSDN无限及树形菜单(treeview)[原创]!
- (原创)用重载实现 treeview 的无限分类递归调用(图)
- Asp.net 2.0 Treeview 动态填充,并实现无限级树
- 基于.NET 2.0的GIS开源项目SharpMap分析手记(十四):ASP.NET2.0实现无刷新客户端回调的Callback机制及例子代码下载
- asp下实现IP限制函数代码
- OpenCV代码提取:rotate函数的实现
- 使用函数实现一个登陆流程伪代码
- 关于无限分级(ASP+数据库+JS)的实现代码
- 快速排序中的partition函数的枢纽元选择,代码细节,以及其标准实现
- 【第4节】Java代码实现栈--小例子--单词逆序
- php number_format() 函数通过千位分组来格式化数字的实现代码
- Lea指令计算地址(用于四则混合运算),附上一个函数调用例子及其反汇编代码,很清楚
- NSLayoutConstraint-代码实现自动布局的函数用法说明
- 使用TREEVIEW实现无限级分类