ASP.NET中树形图的实现(2)
点击次数:20 次 发布日期:2008-11-26 15:52:15 作者:源代码网
|
源代码网推荐 单纯在Treeview 上增加、删除、修改节点只需用Nodes属性的Add、 Remove、等方法即可,值得注意的地方是VS.NET中Treeview的Nodes集合与VS6.0中的区别,VS6.0中的是一个大的集合,而VS.NET中的是分层的每个Node下都有Nodes属性。增加、删除、修改树节点时与VS6.0相比有很大差别,特别是删除时。 源代码网推荐 源代码网推荐 Private Sub ButAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButAdd.Click’在选定的节点下添加子节点 源代码网推荐 Dim tmpNd As New TreeNode(), NdSel As TreeNode 源代码网推荐 tmpNd.ID = GetNewId() 源代码网推荐 NdSel = TreeView1.GetNodeFromIndex(TreeView1.SelectedNodeIndex)’选中的节点 源代码网推荐 tmpNd.Text = "新节点" 源代码网推荐 NdSel.Nodes.Add(tmpNd) 源代码网推荐 Dim myRow As DataRow 源代码网推荐 myRow = ds.Tables("tree").NewRow() 源代码网推荐 myRow("NODE_NAME") = tmpNd.ID 源代码网推荐 myRow("NODE_DEscript") = "新节点" & tmpNd.ID & "_" & NdSel.ID 源代码网推荐 myRow("PARENT_NAME") = NdSel.ID 源代码网推荐 ds.Tables("tree").Rows.Add(myRow) 源代码网推荐 End Sub 源代码网推荐 Private Sub ButDele_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButDele.Click’删除选中的节点 源代码网推荐 Dim idx As String = TreeView1.SelectedNodeIndex() 源代码网推荐 GetNdCol(idx).Remove(TreeView1.GetNodeFromIndex(idx)) 源代码网推荐 Dim dv As New DataView(), recNo As Integer 源代码网推荐 dv.Table = ds.Tables("tree") 源代码网推荐 dv.RowFilter= "NODEID=" & NdId 源代码网推荐 dv.Delete(0) 源代码网推荐 End Sub 源代码网推荐 Private Function GetNdCol(ByVal idx As String) As TreeNodeCollection 源代码网推荐 ‘获得选中节点的父节点的Nodes集合 源代码网推荐 Dim cnt As Integer, i As Integer 源代码网推荐 Dim tmpNds As TreeNodeCollection 源代码网推荐 Dim idxs() As String 源代码网推荐 idxs = Split(idx, ".") 源代码网推荐 cnt = UBound(idxs) 源代码网推荐 If cnt = 0 Then 源代码网推荐 tmpNds = TreeView1.Nodes 源代码网推荐 Else 源代码网推荐 tmpNds = TreeView1.Nodes(CInt(idxs(0))).Nodes 源代码网推荐 For i = 1 To cnt - 1 源代码网推荐 tmpNds = tmpNds(CInt(idxs(i))).Nodes 源代码网推荐 Next 源代码网推荐 End If 源代码网推荐 Return tmpNds 源代码网推荐 End Function 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
