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

来源:网络整理 责任编辑:栏目编辑 发表时间:2013-07-01 08:41 点击:
     三、修改、移动树节点
    由于服务器控件不支持鼠标拖动事件,所以不能象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下调试通过。 
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • 浅析.NET下XML数据访问新机制
    • asp.net 面试+笔试题目第1/2页
    • C# 邮件地址是否合法的验证
    • asp.net 设置GridView的选中行的实现代码
    • C#高级编程:数据库连接[1]
    • 经典C++程序1
    • IIS 自动回收导致后台定时器失效的问题解决
    • ASP.NET&#160;GridView列表代码示例
    • Asp.net MVC源码分析--Action Filter的链式调用
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1