讨论ASP.Net里面功能最强大的TreeView

delphinus 2005-05-15 03:12:12
大家一起来探讨探讨ASP.Net里面功能强大并且有源代码的TreeView控件啊。
...全文
182 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
孟子E章 2005-05-15
http://www.powerupasp.net/asp.net/treeview/demo.aspx
  • 打赏
  • 举报
回复
karykwan 2005-05-15
webctrl_client目录未复制到 Web 应用程序根目录,是最常见问.其它MSDN讲得很清楚了
  • 打赏
  • 举报
回复
wbj02 2005-05-15
是啊.要讨论什么啊?
  • 打赏
  • 举报
回复
rd16 2005-05-15
这是我收藏的一篇文章

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码

If Not IsPostBack Then
Dim ds As New DataSet
Dim CN As New SqlConnection
'初始化连接字符串()
CN.ConnectionString = mysqlDB
CN.Open()
Dim adp As SqlDataAdapter = New SqlDataAdapter("select * from tbTree", CN)
adp.Fill(ds)
Me.ViewState("ds") = ds
' 调用递归函数(, 完成树形结构的生成)
AddTree(0, Nothing)
End If

End Sub

Private Sub AddTree(ByVal ParentID As Integer, ByVal pNode As TreeNode)

Dim ds As DataSet
ds = Me.ViewState("ds")

Dim dvTree As New DataView
dvTree = New DataView(ds.Tables(0))
'过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "PARENTID = " + ParentID.ToString

Dim Row As DataRowView

For Each Row In dvTree
Dim Node As New TreeNode
If pNode Is Nothing Then '判断是否根节点


'添加根节点

' Node.Text = Row("ConText").ToString()
Node.ID = Row("ID")

Node.Text = "<A target='mainzu' href='999.aspx?id=" & Row("ID") & "&ParentID=" & Row("parentID") & "'>" & Row("ConText").ToString() & "</A>"

TreeView1.Nodes.Add(Node)

Node.Expanded = True
Node.CheckBox = True

'再次递归

AddTree(Int32.Parse(Row("ID").ToString()), Node)

Else

'̀添加当前节点的子节点
' Node.Text = Row("ConText").ToString()
' Node.Text = "<A target='mainzu' href='999.aspx?id=" & Row("ID") & "&ParentID=" & Row("parentID") & "'>" & Row("ConText").ToString() & "</A>"

Node.Text = Row("context")
Node.ID = Row("ID")
pNode.Nodes.Add(Node)
Node.Expanded = True
Node.CheckBox = True

'再次递归
AddTree(Int32.Parse(Row("ID").ToString()), Node)

If Node.Checked = True Then
Response.Write(Node.CheckBox.ToString)
End If

End If

Next

End Sub

Private Sub Check(ByVal tn As TreeNode)

Dim t As TreeNode
For Each t In tn.Nodes
t.Checked = tn.Checked
If t.Nodes.Count <> 0 Then
Check(t)
End If
Next t

End Sub 'Check

Private Sub TreeView1_Check1(ByVal sender As Object, ByVal e As Microsoft.Web.UI.WebControls.TreeViewClickEventArgs) Handles TreeView1.Check
Check(TreeView1.GetNodeFromIndex(e.Node))
End Sub

Private Sub FindCheckTrue(ByVal tn As TreeNode)
Dim t As TreeNode
For Each t In tn.Nodes
If t.Checked = True Then
Dim clientID As String
clientID = t.ID '遍历整个树,得到checked=true的节点id
Response.Write(clientID & "<br>") '<-------显示ID
End If
If t.Nodes.Count <> 0 Then
FindCheckTrue(t)
End If
Next t
End Sub 'FindCheckTrue

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Int32
For i = 0 To Me.TreeView1.Nodes.Count - 1
If (Me.TreeView1.Nodes(i).Checked = True) Then
Response.Write(Me.TreeView1.Nodes(i).ID & "<br>") '<-------显示ID
End If
FindCheckTrue(Me.TreeView1.Nodes(i))
Next
End Sub
  • 打赏
  • 举报
回复
hedonister 2005-05-15
没有主题怎么讨论?
  • 打赏
  • 举报
回复
发帖
.NET社区

6.0w+

社区成员

.NET技术交流专区
社区管理员
  • ASP.NET
  • R小R
  • 喵叔哟
加入社区
帖子事件
创建了帖子
2005-05-15 03:12
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。