代码部分完成后 Treeview 代码被截断
Treeview code cuts after partial completion of code
我有以下代码适用于一个有 x 个子节点的父树节点,但我也想创建另一个父节点,但这次用 dwg 文件名填充它......出于某种原因,它在有只考虑 xls 扩展 我还想为其他类型的扩展添加一个带有子名称的父项。按照正确的工作代码,我添加了不正确的工作代码?
工作代码:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim di As New IO.DirectoryInfo("c:\la")
Dim diar1 As IO.FileInfo() = di.GetFiles()
Dim dra As IO.FileInfo
For Each dra In diar1
'Dim sr As StreamReader = New StreamReader(dra.FullName)
If System.IO.Path.GetExtension(dra.Name).ToLower() = ".xls" Then
If TreeView1.Nodes.Count = 0 Then TreeView1.Nodes.Add("Offerts")
TreeView1.Nodes(0).Nodes.Add(dra.Name)
End If
Next
End Sub
现在错误编程的扩展代码:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim di As New IO.DirectoryInfo("c:\la")
Dim diar1 As IO.FileInfo() = di.GetFiles()
Dim dra As IO.FileInfo
For Each dra In diar1
'Dim sr As StreamReader = New StreamReader(dra.FullName)
If System.IO.Path.GetExtension(dra.Name).ToLower() = ".xls" Then
If TreeView1.Nodes.Count = 0 Then TreeView1.Nodes.Add("Offerts")
TreeView1.Nodes(0).Nodes.Add(dra.Name)
End If
If System.IO.Path.GetExtension(dra.Name).ToLower() = ".dwg " Then
If TreeView1.Nodes.Count = 3 Then TreeView1.Nodes.Add("Technical data")
TreeView1.Nodes(1).Nodes.Add(dra.Name)
End If
Next
End Sub
当它到达这个 If 语句时:
If TreeView1.Nodes.Count = 0 Then TreeView1.Nodes.Add("Technical data")
它不添加 "Technical data" 节点,因为 TreeView1.Nodes.Count 不为零(它是一个),因为它已经在 Offerts 下创建了 "Offerts" 节点和一个或多个节点.
做对一半(做"really"对可能不好进入这里),需要在创建根节点的时候加一个key,这样就可以使用查找函数以查看它是否已经创建,并将文件名放在正确的节点下。因此,您不只是 TreeView1.Nodes.Add("Offerts")
,而是将密钥添加为第二个参数:TreeView1.Nodes.Add("Offerts", "Offerts")
。然后你可以使用 TreeView 的 Find
功能来枚举该节点以检查它是否存在,添加子节点,删除它等。
Dim di As New IO.DirectoryInfo("c:\la")
Dim diar1 As IO.FileInfo() = di.GetFiles()
Dim dra As IO.FileInfo
For Each dra In diar1
If System.IO.Path.GetExtension(dra.Name).ToLower() = ".xls" Then
If TreeView1.Nodes.Find("Offerts", False).Length = 0 Then TreeView1.Nodes.Add("Offerts", "Offerts")
TreeView1.Nodes.Find("Offerts", False)(0).Nodes.Add(dra.Name)
End If
If System.IO.Path.GetExtension(dra.Name).ToLower() = ".dwg" Then
If TreeView1.Nodes.Find("Technical data", False).Length = 0 Then TreeView1.Nodes.Add("Technical data", "Technical data")
TreeView1.Nodes.Find("Technical Data", False)(0).Nodes.Add(dra.Name)
End If
Next
我有以下代码适用于一个有 x 个子节点的父树节点,但我也想创建另一个父节点,但这次用 dwg 文件名填充它......出于某种原因,它在有只考虑 xls 扩展 我还想为其他类型的扩展添加一个带有子名称的父项。按照正确的工作代码,我添加了不正确的工作代码?
工作代码:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim di As New IO.DirectoryInfo("c:\la")
Dim diar1 As IO.FileInfo() = di.GetFiles()
Dim dra As IO.FileInfo
For Each dra In diar1
'Dim sr As StreamReader = New StreamReader(dra.FullName)
If System.IO.Path.GetExtension(dra.Name).ToLower() = ".xls" Then
If TreeView1.Nodes.Count = 0 Then TreeView1.Nodes.Add("Offerts")
TreeView1.Nodes(0).Nodes.Add(dra.Name)
End If
Next
End Sub
现在错误编程的扩展代码:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim di As New IO.DirectoryInfo("c:\la")
Dim diar1 As IO.FileInfo() = di.GetFiles()
Dim dra As IO.FileInfo
For Each dra In diar1
'Dim sr As StreamReader = New StreamReader(dra.FullName)
If System.IO.Path.GetExtension(dra.Name).ToLower() = ".xls" Then
If TreeView1.Nodes.Count = 0 Then TreeView1.Nodes.Add("Offerts")
TreeView1.Nodes(0).Nodes.Add(dra.Name)
End If
If System.IO.Path.GetExtension(dra.Name).ToLower() = ".dwg " Then
If TreeView1.Nodes.Count = 3 Then TreeView1.Nodes.Add("Technical data")
TreeView1.Nodes(1).Nodes.Add(dra.Name)
End If
Next
End Sub
当它到达这个 If 语句时:
If TreeView1.Nodes.Count = 0 Then TreeView1.Nodes.Add("Technical data")
它不添加 "Technical data" 节点,因为 TreeView1.Nodes.Count 不为零(它是一个),因为它已经在 Offerts 下创建了 "Offerts" 节点和一个或多个节点.
做对一半(做"really"对可能不好进入这里),需要在创建根节点的时候加一个key,这样就可以使用查找函数以查看它是否已经创建,并将文件名放在正确的节点下。因此,您不只是 TreeView1.Nodes.Add("Offerts")
,而是将密钥添加为第二个参数:TreeView1.Nodes.Add("Offerts", "Offerts")
。然后你可以使用 TreeView 的 Find
功能来枚举该节点以检查它是否存在,添加子节点,删除它等。
Dim di As New IO.DirectoryInfo("c:\la")
Dim diar1 As IO.FileInfo() = di.GetFiles()
Dim dra As IO.FileInfo
For Each dra In diar1
If System.IO.Path.GetExtension(dra.Name).ToLower() = ".xls" Then
If TreeView1.Nodes.Find("Offerts", False).Length = 0 Then TreeView1.Nodes.Add("Offerts", "Offerts")
TreeView1.Nodes.Find("Offerts", False)(0).Nodes.Add(dra.Name)
End If
If System.IO.Path.GetExtension(dra.Name).ToLower() = ".dwg" Then
If TreeView1.Nodes.Find("Technical data", False).Length = 0 Then TreeView1.Nodes.Add("Technical data", "Technical data")
TreeView1.Nodes.Find("Technical Data", False)(0).Nodes.Add(dra.Name)
End If
Next