源码
资讯
  当前位置:源码网网络学院网络编程.NET教程 → ASP.NET中树形图的实现(3)
特别推荐
热点TOP10
本周下载排行
本月下载排行
ASP.NET中树形图的实现(3)
日期:2006年3月12日 作者: 人气: 查看: [大字体 中字体 小字体]
     三、修改、移动树节点
    由于服务器控件不支持鼠标拖动事件,所以不能象Windows程序那样通过拖动移动节点,这里是通过选择父节点的方式。移动是通过在原位置删除,新位置添加实现的,要注意在删除时先保存节点信息。
  
  Private Sub TreeView1_SelectedIndexChange(ByVal sender As Object, ByVal e As Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs) Handles TreeView1.SelectedIndexChange
  Dim dv As New DataView()
  dv.Table = ds.Tables("tree")
  Dim tmpNd As TreeNode = TreeNdSel(e.OldNode), tmpNds As TreeNodeCollection
  dv.RowFilter= "NODEID=" & tmpNd.ID
  dv(0)("NODE_DEscript") = Me.TextBox1.Text
  dv(0)("ADDRESS") = Me.TextBox2.Text
  dv(0)("TARGET") = Me.TextBox3.Text
  dv(0)("ICON") = Me.TextBox4.Text
  If dv(0)("PARENTID").ToString <> Me.DropDownList1.SelectedItem.Value Then
  ‘移动节点
  dv(0)("PARENT_NAME") = Me.DropDownList1.SelectedItem.Value
  If Me.DropDownList1.SelectedItem.Value = "ROOT" Then
  tmpNds = TreeView1.Nodes
  Else
  tmpNds = FromIdToNode(Me.DropDownList1.SelectedItem.Value, TreeView1.Nodes).Nodes’新的父节点的Nodes集合
  End If
  GetNdCol(e.OldNode).Remove(tmpNd)
  tmpNds.Add(tmpNd)
  End If
  tmpNd.Text = Me.TextBox1.Text
  tmpNd.ImageUrl = Me.TextBox4.Text
  tmpNd = TreeView1.GetNodeFromIndex(TreeView1.SelectedNodeIndex)
  dv.RowFilter= "NODEID=" & tmpNd.ID
  Me.TextBox1.Text = dv(0)("NODENAME").ToString
  Me.TextBox2.Text = dv(0)("ADDRESS").ToString
  Me.TextBox3.Text = dv(0)("TARGET").ToString
  Me.TextBox4.Text = dv(0)("ICON").ToString
  End Sub
  Private Function FromIdToNode(ByVal ID As String, ByVal Nds As TreeNodeCollection) As TreeNode
  ‘由关键字查找节点
  Dim i As Integer
  Dim tmpNd As TreeNode, tmpNd1 As TreeNode
  For Each tmpNd In Nds
  If tmpNd.ID = ID Then
  Return tmpNd
  Exit Function
  End If
  tmpNd1 = FromIdToNode(ID, tmpNd.Nodes)
  If Not (tmpNd1 Is Nothing) Then
  Return tmpNd1
  Exit Function
  End If
  Next
  Return Nothing
  End Function
  
  四、结束语
  
    以上阐述ASP.NET中树状显示的基本方法,以及如何在对树节点进行维护(增加、删除、修改、移动)的同时,修改数据库数据。由于篇幅所限,笔者在此只对基本思路和流程及关键步骤作了介绍,并未列出详细源代码,读者可自行完善。需要详细源代码者可与我联系,本文程序在VS.NET、SQLServer、Windows 2000、IIS5.0下调试通过。 

(出处:源码网)

百度搜索 Google搜索 雅虎搜索 我要投稿
相关文章: 相关软件: