ASP.net 2005 Treeview 无限分类非递归终极解决方案
这几天在写HRM的时候 这问题搞了我两天,哈哈!开始在使用Google 找了半天都是一堆垃圾,都是使用算法的较多, 后来就去了www.asp.net 找到点启示。
好了废话多说无用。
首先表结构如下 表名 Test
<shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 233.25pt; HEIGHT: 95.25pt" type="#_x0000_t75"><imagedata src="file:///D:%5CDOCUME~1%5CJIANGJ~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image001.jpg" o:title="Snap1"></imagedata></shape>
写个存储过程 GetTreeview
这个不用我说了吧下面用到
为了速度缓存DataTable
Public Function GetTreeTable() As DataTable
Dim dt As New DataTable()
dt = HttpContext.Current.Cache("Treeview")
If dt Is Nothing Then
Dim <state w:st="on"><place w:st="on">Conn</place></state>As New SqlConnection
Dim clsConnDatabase As New ConnectionDatabase
<state w:st="on"><place w:st="on">Conn</place></state> = clsConnDatabase.ConnDatabase
Dim Command As New SqlCommand
Command.Connection = <state w:st="on"><place w:st="on">Conn</place></state>
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
至于速度我没测试,如果大家有兴趣帮忙测测。
题外话(突然发现自己老了,26岁了写了快7年的程序了 一直使用VB各种版本, 及 Masm(MS宏汇编语言)在VB 6.0 时代 2000 年左右建立了 以VB 编程为主的个人主页编程浪子) by Shadow
注:本文转自http://blog.csdn.net/shadowsky/archive/2006/06/18/811461.aspx
分享到:
相关推荐
总的来说,构建ASP.NET 2.0 Treeview的无限级无刷新示例涉及到服务器端的无限级递归加载、客户端的AJAX更新和异步加载策略,需要综合运用ASP.NET、C#、JavaScript和数据库操作等技术。通过实践这个示例,你可以提升...
在这个"ASP.NET-Treeview-递归生成部门树"的示例中,我们将探讨如何利用TreeView控件结合递归算法来构建一个表示部门结构的树形视图。 首先,我们要理解TreeView的基本概念。TreeView控件是一个可视化组件,它能够...
在ASP.NET中,TreeView控件是一个非常强大的工具,它用于创建和展示层次结构的数据,比如网站导航、文件系统目录或数据库记录。这个实例将指导我们如何利用TreeView来实现一个交互式的树目录。以下是对实现这一功能...
在标题中提到的“asp.net TreeView 与 GridView 相结合管理无限极分类很好用”,这意味着开发者可能使用TreeView来展示类目层次,用户通过点击TreeNode(树形节点)来展开和选择分类,然后利用GridView展示所选分类...
在ASP.NET中,`TreeView`控件是一种强大的工具,用于展示层次结构的数据,例如网站的导航菜单、组织架构或数据库的无限级分类。这个控件能够以树状结构显示数据,用户可以展开和折叠节点,方便地浏览多级关系。在本...
在asp.net(C#)中TreeView控件的数据绑定,本例子绑定是目录结构(即是文件夹),按目录等级来分层绑定的,用于目录管理,可自己添加功能代码实现指定文件夹的新建、名称修改,以及文档的上传、转移及各种管理。
这个压缩包“asp.net 利用TreeView控件动态生成无限级树.rar”主要关注如何利用TreeView控件来构建一个能够无限扩展的层级结构。下面将详细阐述相关知识点。 1. TreeView控件简介: TreeView是ASP.NET Web Forms中...
在asp.net中绑定treeview控件
ASP.NET TreeView 控件是一种常见的用户界面元素,用于展示层级结构的数据,如目录结构、组织结构或者数据库中的分类数据。在网页开发中,它提供了一种直观的方式,使用户可以浏览和操作多级数据。在本篇中,我们将...
在ASP.NET开发中,TreeView控件是一个非常有用的组件,它用于呈现层次结构的数据,比如文件系统、组织结构或任何其他可以表示为树形结构的数据。本文将深入探讨如何在C#环境中自定义处理ASP.NET TreeView控件的点击...
ASP.NET中的TreeView控件是一个强大的工具,用于在Web应用程序中展示层次结构的数据,例如网站导航、文件系统结构或数据库树状关系。这个“TreeView3.15”压缩包文件很可能包含了一个实例,演示了如何在ASP.NET环境...
在ASP.NET中,TreeView控件是一个非常有用的工具,它用于以树形结构显示数据,非常适合用来展示层次结构的数据,如组织结构、目录结构或者数据库中的分类信息。在本主题中,我们将深入探讨如何将TreeView控件与...
"ASP.NET 递归下载treeview" 在 ASP.NET 中,开发者经常需要在网页上展示文件夹和文件的结构,以便用户更方便地浏览和下载文件。为了实现这个功能,我们可以使用递归遍历文件夹和文件,并将其存入 TreeView 中。...
通过研究这个示例,开发者不仅可以学习到如何在ASP.NET中使用TreeView控件,还能了解到如何处理和呈现无限级别的数据结构。这对于提升ASP.NET开发技能,特别是处理复杂数据层次关系的能力大有裨益。同时,这个示例也...
在ASP.NET中,TreeView控件是一个非常有用的工具,它能够以层次结构的形式展示数据,常用于网站导航或数据展示。本篇文章将详细讲解如何在ASP.NET中利用TreeView控件与数据库进行动态连接,以实现数据的动态加载。 ...
在Asp.Net开发中,TreeView控件是一种常用于展示层级数据结构的组件,例如网站的导航菜单或文件系统的目录结构。而将Checkbox与TreeView结合,可以实现用户对多个节点进行多选操作,这对于数据筛选、权限设置等场景...
要求用asp.net实现一个树形机构,根节点为 福建省,展开+号后为福州市、泉州市、宁德市等9个地市,再展开+号福州市,则现实台江区、鼓楼区等节点。点击节点的名称弹出提示框,提示框的内容为:“你当前选择的节点...
在ASP.NET中,TreeView控件是一个非常有用的数据呈现工具,常用于展示层次结构的数据,如文件系统、组织结构等。当需要与用户进行更复杂的交互,例如选择多个节点时,可以利用CheckBoxes特性来实现。本文将深入探讨...