vb.net TreeView 数目统计
本题是按照csdn网页会员的要求亲自编写的。
http://bbs.csdn.net/topics/390878463
原数据的视图

运行后统计各自节点的数目,包含本节点的数目合计统计。

此代码如下;
第二个效果图是只统计各节点下的所有数目,不包含本节点。
效果图如下;

此代码如下;
http://bbs.csdn.net/topics/390878463
原数据的视图

运行后统计各自节点的数目,包含本节点的数目合计统计。

此代码如下;
Public Class Class2
Private List1 As New List(Of Integer)
Private List2 As New List(Of Integer)
Private Dictionary1 As New Dictionary(Of Integer, List(Of Integer))
Private NextKey1 As Integer = 0
Private NextKey2 As Integer = 1
Private NextKey3 As Integer = 0
Private Nextkey4 As Integer = 0
Private Array1 As String()
Private TreeView1 As TreeView
Public Property _TreeView1() As TreeView
Get
Return TreeView1
End Get
Set(ByVal value As TreeView)
TreeView1 = value
End Set
End Property
Public Sub MySub()
Dim Sum1 As Integer = List1.Sum
ReadAllNode(TreeView1.Nodes)
ReadAllNode1(TreeView1.Nodes)
End Sub
Private Sub ReadAllNode(ByVal Nodes1 As TreeNodeCollection)
Dim Val1 As Integer
Dim Val2 As Integer
Dim Next1 As Integer = 1
Dim Str1 As String
Dim Str2 As String
Dim Str3 As String
Dim Array2 As String()
For Each S As TreeNode In Nodes1
Str2 = S.Text
Str3 = S.FullPath
' MsgBox(Str3)
Array2 = Str3.Split("\")
Val2 = Val(Array2.Last.Split("(").ElementAt(1))
List2.Add(Val2)
If S.Nodes.Count > 0 Then
ReadAllNode(S.Nodes)
End If
If String.Equals(Str2, Str3) Then
Str1 = Str2.Split("(").ElementAt(0)
TreeView1.Nodes.Item(NextKey1).Text = Str1 & "(" & List1.Sum & ")"
Dictionary1.Add(NextKey2, List2)
List1 = New List(Of Integer)
List2 = New List(Of Integer)
NextKey1 += 1
NextKey2 += 1
Else
Val1 = Val(Str2.Split("(").ElementAt(1))
List1.Add(Val1)
End If
Next
End Sub
Private Sub ReadAllNode1(ByVal Nodes1 As TreeNodeCollection)
Dim Val1 As Integer
Dim Str1 As String
Dim Str2 As String
Dim Str3 As String
For Each S As TreeNode In Nodes1
Str2 = S.Text
Str3 = S.FullPath
Array1 = S.FullPath.Split("\")
Val1 = S.Nodes.Count
If String.Equals(Str2, Str3) Then
NextKey3 += 1
Nextkey4 = 1
End If
If Val1 > 0 Then
S.Text = Dictionary1.Item(NextKey3).Skip(Nextkey4 - 1).Sum.ToString
End If
Nextkey4 += 1
If S.Nodes.Count > 0 Then
ReadAllNode1(S.Nodes)
End If
Next
End Sub
End Class
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Cla1 As New Class1
Cla1._TreeView1 = Me.TreeView1
Cla1.MySub()
End Sub
End Class
第二个效果图是只统计各节点下的所有数目,不包含本节点。
效果图如下;

此代码如下;
Public Class Class1
Private List1 As New List(Of Integer)
Private List2 As New List(Of Integer)
Private Dictionary1 As New Dictionary(Of Integer, List(Of Integer))
Private NextKey1 As Integer = 0
Private NextKey2 As Integer = 1
Private NextKey3 As Integer = 0
Private Nextkey4 As Integer = 1
Private Array1 As String()
Private TreeView1 As TreeView
Public Property _TreeView1() As TreeView
Get
Return TreeView1
End Get
Set(ByVal value As TreeView)
TreeView1 = value
End Set
End Property
Public Sub MySub()
Dim Sum1 As Integer = List1.Sum
ReadAllNode(TreeView1.Nodes)
ReadAllNode1(TreeView1.Nodes)
End Sub
Private Sub ReadAllNode(ByVal Nodes1 As TreeNodeCollection)
Dim Val1 As Integer
Dim Val2 As Integer
Dim Next1 As Integer = 1
Dim Str1 As String
Dim Str2 As String
Dim Str3 As String
Dim Array2 As String()
For Each S As TreeNode In Nodes1
Str2 = S.Text
Str3 = S.FullPath
' MsgBox(Str3)
Array2 = Str3.Split("\")
Val2 = Val(Array2.Last.Split("(").ElementAt(1))
List2.Add(Val2)
If S.Nodes.Count > 0 Then
ReadAllNode(S.Nodes)
End If
If String.Equals(Str2, Str3) Then
Str1 = Str2.Split("(").ElementAt(0)
TreeView1.Nodes.Item(NextKey1).Text = Str1 & "(" & List1.Sum & ")"
Dictionary1.Add(NextKey2, List2)
List1 = New List(Of Integer)
List2 = New List(Of Integer)
NextKey1 += 1
NextKey2 += 1
Else
Val1 = Val(Str2.Split("(").ElementAt(1))
List1.Add(Val1)
End If
Next
End Sub
Private Sub ReadAllNode1(ByVal Nodes1 As TreeNodeCollection)
Dim Val1 As Integer
Dim Str2 As String
Dim Str3 As String
For Each S As TreeNode In Nodes1
Str2 = S.Text
Str3 = S.FullPath
Array1 = S.FullPath.Split("\")
Val1 = S.Nodes.Count
If String.Equals(Str2, Str3) Then
NextKey3 += 1
Nextkey4 = 1
End If
Nextkey4 += 1
If Val1 > 0 Then
S.Text = Dictionary1.Item(NextKey3).Skip(Nextkey4 - 1).Sum.ToString
End If
If S.Nodes.Count > 0 Then
ReadAllNode1(S.Nodes)
End If
Next
End Sub
End Class
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Cla1 As New Class1
Cla1._TreeView1 = Me.TreeView1
Cla1.MySub()
End Sub
End Class
...全文
相关推荐
vb.net中TreeView控件教程实例
在VB.NET编程环境中,TreeView控件是一个非常有用的组件,它允许用户以树形结构展示数据。
vb.net中treeview节点的添加和删除
本篇文章将深入探讨如何在VB.NET中进行TreeView节点的添加和删除操作。一、添加节点1. 创建基本节点:在VB.NET中,可以使用TreeNode类来创建一个新节点。
VB.NET TreeView控件实例+PPT
在VB.NET编程环境中,TreeView控件是一个非常有用的组件,它用于显示层次结构的数据,比如文件系统、数据库结构或自定义的组织结构。
vb.net利用treeview显示文件夹列表
总结起来,通过VB.NET结合TreeView控件和Directory类,我们可以创建一个简单的应用程序,以树状结构展示指定驱动器或路径的文件夹列表。
vb.net 操作excel实例,包括简单的treeview,datagrid实例
本实例将探讨如何使用VB.NET来实现Excel的读写,同时结合TreeView和DataGridView控件进行数据展示。以下是对这些知识点的详细说明:1.


