Beschränke dich doch nicht auf die Tag Eigenschaft. Es gibt so viele Möglichkeiten dies ohne dieser Eigenschaft zu realisieren.
Du kannst z.b. eine neue TreeNode Klasse erstellen, welches alles von der TreeNode BasisKlasse erbt, und diese neue Klasse kannst an deine Wünsche anpassen und eventuell erweitern. Hab da mal etwas vorbereitet:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles Button2.Click
' meine Variante den Baum zu füllen
Dim geraetenameN, teilenameN, endteilN As GeraeteTreeNode
For Each geraetename As DataRow In dtA1.Rows
geraetenameN = New GeraeteTreeNode(geraetename.Item(1).ToString, _
New Geraete(0, 99, "Test1"))
For Each teilename As DataRow In dtA2.Rows
If geraetename.Item(0).Equals(teilename.Item(1)) Then
teilenameN = New GeraeteTreeNode(teilename.Item( _
2).ToString, New Geraete(1, 199, "Test2"))
For Each endteil As DataRow In dtA3.Rows
If teilename.Item(0).Equals(endteil.Item(1)) Then
endteilN = New GeraeteTreeNode(endteil.Item(2), New _
Geraete(1, 299, "Test3"))
End If
Next
End If
Next
Me.TreeView1.Nodes.Add(geraetenameN)
Next
End Sub
Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As _
System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
' hier kannst du jetzt alle Informationnen des angeklicken Node in Erfahrung
' bringen
MessageBox.Show(CType(e.Node, _
GeraeteTreeNode).GeraeteInformationen.Ebene.ToString)
MessageBox.Show(CType(e.Node, _
GeraeteTreeNode).GeraeteInformationen.GeraeteName.ToString)
MessageBox.Show(CType(e.Node, _
GeraeteTreeNode).GeraeteInformationen.GeraeteNummer.ToString)
End Sub
'die "neuen" Klassen die uns das Leben etwas einfacher machen sollen:
Public Class Geraete
Public Sub New(ByVal Ebene As Int32, ByVal GeraeteNummer As Int32, ByVal _
GeraeteName As String)
Me.Ebene = Ebene
Me.GeraeteNummer = GeraeteNummer
Me.GeraeteName = GeraeteName
End Sub
Public Ebene As Integer 'Ersatz für Tag
Public GeraeteNummer As Integer
Public GeraeteName As String
End Class
Public Class GeraeteTreeNode : Inherits TreeNode
Public GeraeteInformationen As Geraete
Public Sub New(ByVal Text As String, ByVal GeraeteInformationen As Geraete)
MyBase.New()
MyBase.Text = Text
Me.GeraeteInformationen = GeraeteInformationen
End Sub
End Class Steve |