当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  ASP.NET中树形图的实现(1)

 ASP.NET中树形图的实现(1)

点击次数:28 次 发布日期:2008-11-26 15:52:14 作者:源代码网
源代码网推荐      树形图用于显示按照树形结构进行组织的数据,其用途比较广泛,如计算机中的文件系统(Windows中的资源管理器)、企业或公司的组成结构等。我们知道在Windows下VB、PB、Delphi等工具提供了一个功能很强的树型控件TreeView,利用Treeview控件可以方便地开发树形图。然而在网页上实现树形图就不那么容易了,现在在ASP.NET中利用微软提供的Internet Explorer WebControls它使得网页上的树形图开发与在Windows下一样的方便,一样的功能强大,甚至更灵活。
源代码网推荐  
源代码网推荐    本文介绍用Internet Explorer WebControls开发树形图的方法,由于树形图结构较复杂,使用起来常不知如何下手。笔者结合最近刚为公司用ASP.NET编写的应用程序管理器这一具体实例,详细阐述在ASP.NET下如何将Internet Explorer WebControls的使用与数据库联系起来,实现数据分任意多层显示,方便地进行增加、修改、删除、移动操作。笔者希望通过对该实例的阐述,达到抛砖引玉的效果,与各位同仁相互交流,共同进步。
源代码网推荐  
源代码网推荐    Internet Explorer WebControls不在VS.NET的标准Server Control中,要到微软的站点上下载,下载地址是:http://msdn.microsoft.com/downloads/samples/internet/default.asp?url=/Downloads/samples/Internet/ASP_DOT_NET_ServerControls/WebControls/default.asp 下载安装后第一次使用时,要右击工具箱Customize Toolbox…→.NET Framework Components中找到Micosoft.Web.UI.WebControls.Treeview后选中,这样Treeview控件就出现在工具箱中了。
源代码网推荐  
源代码网推荐    一、树的建立
源代码网推荐  
源代码网推荐    具体方法是:创建一个数据库,设计树图信息表TREE_INFO,包含NODEID、PARENTID、NODENAME、ADDERSS、ICON字段,其它字段根据实际业务而定,节点名称NODENAME将在树型控件的节点上显示,NODEID字段保存节点的唯一标识号,PARENTID表示当前节点的父节点号,标识号组成了一个“链表”,记录了树上节点的结构。设计一个Web窗体其上放置TreeView控件。
源代码网推荐  
源代码网推荐  
源代码网推荐  
源代码网推荐  
源代码网推荐  
源代码网推荐  
源代码网推荐  Private Sub CreateDataSet()’建立数据集
源代码网推荐  Dim myConn As New SqlConnection()
源代码网推荐  Dim myCmd As New SqlCommand("select NODEID,NODENAME,PARENTID,ADDRESS,ICON from Tree_info", myConn)
源代码网推荐  Dim myDataAdapter As New SqlDataAdapter()
源代码网推荐  myConn.ConnectionString = Application("connectstring")
源代码网推荐  myCmd.CommandText = ""
源代码网推荐  myCmd.Connection = myConn
源代码网推荐  myDataAdapter.SelectCommand = myCmd
源代码网推荐  myDataAdapter.Fill(ds, "tree")
源代码网推荐  End Sub
源代码网推荐  
源代码网推荐    建树的基本思路是:从根节点开始递归调用显示子树
源代码网推荐  
源代码网推荐  
源代码网推荐  
源代码网推荐  
源代码网推荐  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
源代码网推荐  CreateDataSet()
源代码网推荐  intiTree(TreeView1.Nodes, 0)
源代码网推荐  End Sub
源代码网推荐  Private Sub intiTree(ByRef Nds As TreeNodeCollection, ByVal parentId As Integer)
源代码网推荐  Dim dv As New DataView()
源代码网推荐  Dim drv As DataRowView
源代码网推荐  Dim tmpNd As TreeNode
源代码网推荐  Dim intId As Integer
源代码网推荐  dv.Table = ds.Tables("tree")
源代码网推荐  dv.RowFilter = "PARENTID=’" & parentId & "’"
源代码网推荐  For Each drv In dv
源代码网推荐  tmpNd = New TreeNode()
源代码网推荐  strId = drv("NODE_ID")
源代码网推荐  tmpNd.ID = strId
源代码网推荐  tmpNd.Text = drv("NODE_NAME ")
源代码网推荐  tmpNd.ImageUrl = drv("ICON").ToString
源代码网推荐  Nds.Add(tmpNd)
源代码网推荐  intiTree(Nds(Nds.Count - 1).Nodes, intId)
源代码网推荐  Next
源代码网推荐  End Sub
源代码网推荐  
源代码网推荐  
源代码网推荐  
源代码网推荐  
源代码网推荐    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华