源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

ASP.NET 2005 Treeview终极解决方案

  • 时间:2022-02-10 13:12 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:ASP.NET 2005 Treeview终极解决方案
  这几天在写HRM的时候 这问题搞了我两天,开始在使用Google 找了半天都是一堆垃圾,都是使用算法的较多, 后来就去了的msdn.yesky.com 找到点启示。 好了废话多说无用。   首先表结构如下 表名 Test
[url=http://www.zychina.com.cn/article/UploadPic/2006-7/20067823150105.jpg][img]http://www.zychina.com.cn/article/UploadPic/2006-7/20067823150105.jpg[/img] [/url]
  写个存储过程 GetTreeview   这个不用我说了吧下面用到   为了速度缓存DataTable
Public Function GetTreeTable() As DataTable  Dim dt As New DataTable()  dt = HttpContext.Current.Cache("Treeview")  If dt Is Nothing Then   Dim Conn As New SqlConnection   Dim clsConnDatabase As New ConnectionDatabase   Conn = clsConnDatabase.ConnDatabase   Dim Command As New SqlCommand   Command.Connection = Conn   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
  至于速度我没测试,如果大家有兴趣帮忙测测。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部