ASP.net 2005 Treeview 无限分类非地递归终极解决方案
来源:互联网 发布:二手mac 编辑:程序博客网 时间:2024/05/17 00:55
这几天在写HRM的时候 这问题搞了我两天,哈哈!开始在使用Google 找了半天都是一堆垃圾,都是使用算法的较多, 后来就去了www.asp.net 找到点启示。
好了废话多说无用。
首先表结构如下 表名 Test
写个存储过程 GetTreeview
这个不用我说了吧下面用到
为了速度缓存DataTable
Public Function GetTreeTable() As DataTable
Dim dt As New DataTable()
dt = HttpContext.Current.Cache("Treeview")
If dt Is Nothing Then
Dim
Dim clsConnDatabase As New ConnectionDatabase
Dim Command As New SqlCommand
Command.Connection =
Command.CommandText = "GetTreeview"
Command.CommandType = CommandType.StoredProcedure
Command.ExecuteNonQuery()
Dim da As New SqlDataAdapter(Command)
dt = New DataTable()
da.Fill(dt)
HttpContext.Current.Cache.Insert("Treeview", dt)
End If
Return dt
End Function
这里是主要阿
Public Sub PopulateNodes(ByVal nodes As TreeNodeCollection, Optional ByVal intParentID As Int32 = 0)
Dim dt As New DataTable()
dt = clsWebForms.GetTreeTable()
Dim strExpression As String
strExpression = "[parentID] = " & intParentID
Dim foundRows() As DataRow
foundRows = dt.Select(strExpression)
Dim I As Integer
For I = 0 To foundRows.GetUpperBound(0)
Dim tn As New TreeNode()
tn.Text = foundRows(I).Item(“TableName”).ToString()
tn.Value = foundRows(I).Item("ID").ToString()
Dim dr() As DataRow
dr = dt.Select("[parentID] = " & tn.Value)
If dr.GetUpperBound(0) > -1 Then
tn.PopulateOnDemand = True
End If
nodes.Add(tn)
Next
End Sub
建立WebForm 放入Treeview
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
PopulateNodes(TreeView1.Nodes, 0)
End If
End Sub
Protected Sub TreeView1_TreeNodePopulate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.TreeNodeEventArgs) Handles TreeView1.TreeNodePopulate
PopulateNodes(e.Node.ChildNodes, e.Node.Value)
End Sub
至于速度我没测试,如果大家有兴趣帮忙测测。
- ASP.net 2005 Treeview 无限分类非地递归终极解决方案
- ASP.net 2005 Treeview 无限分类非地递归终极解决方案
- ASP.net 2005 Treeview 无限分类非地递归终极解决方案
- ASP.net 2005 Treeview 无限分类非递归终极解决方案
- ASP.NET 2005 Treeview终极解决方案
- Treeview无限分类解决方案
- Asp.net中Treeview终极解决方案!!
- ASP.NET 无限级分类的非递归实现 存储过程
- ASP.NET无限级分类的非递归实现(存储过程版)
- ASP.NET无限级分类的非递归实现(存储过程版)
- ASP.NET无限级分类的非递归实现(存储过程版)
- ASP.NET无限级分类的非递归实现(存储过程版)
- ASP.NET无限级分类的非递归实现(存储过程版)
- ASP.NET无限级分类的非递归实现(存储过程版)
- asp.net 2.0中treeview控件实现无限级分类
- 无限级分类-非递归
- ASP.NET无限分类
- ASP.NET无限分类
- 10年回顾:世界各地开发高手谈Java (3)
- 如何制作Red Hat 9自动安装光盘
- 10年回顾:世界各地开发高手谈Java (4)
- 让老外一头雾水的中文
- 为什么要用DTR,而不是Perforce或ClearCase
- ASP.net 2005 Treeview 无限分类非地递归终极解决方案
- 网络常见故障
- 我不写代码好多年!
- 浮动广告
- VSS上新员工的档案
- asp.net 消息框
- 如何在.NET程序中启动xp的视觉效果
- 喜欢香港
- Linux操作系统安装盘的定制