Hallo,
bitte entschuldigt, aber ich muss noch mal auf das Thema TreeView zurück kommen.
Komme leider überhaupt nicht mehr weiter und möcht euch noch mal um Hilfe bitten...
Versuche in einem TreeView etwas zu selectieren und markieren.
Der Aufbau ist so, dass ich erst ein Treeview fülle, mit Daten aus einer Datenbank
ID SubID Text
Anschließend wird ein Datensatz erstellt, in dem ich aus dem gerade eben gefüllten Treeview einen Wert zuordne.
Wenn ich anschließend diesen Datensatz, wo zu vor ein Eintrag zugeordnet wird wieder aufrufe, soll genau dieser Eintrag im Treeview markiert werde.
Der Datensatz schau so aus:
ID TreeViewID Bezeichnung ... usw.
Was heißt, daß ich im Datensatz die ID des Treevieweintrages speichere. Über diese ID vom Treeview möcht/muss ich dann wieder suchen und markieren können.
Mein derzeitiger Code zum suchen, wird jedoch immer nur der erste Eintrag im Treeview markiert.
Ich komm da einfach nicht weiter, alles lesen bei MSDN und Galileo hat mir bisher nicht geholfen...
Hiffe auf eure Hilfe...
Danke vorab und schönen Fr. noch...
Alex
EDIT:
So fülle ich mein TreeView:
Spoiler anzeigen
bitte entschuldigt, aber ich muss noch mal auf das Thema TreeView zurück kommen.
Komme leider überhaupt nicht mehr weiter und möcht euch noch mal um Hilfe bitten...
Versuche in einem TreeView etwas zu selectieren und markieren.
Der Aufbau ist so, dass ich erst ein Treeview fülle, mit Daten aus einer Datenbank
ID SubID Text
Anschließend wird ein Datensatz erstellt, in dem ich aus dem gerade eben gefüllten Treeview einen Wert zuordne.
Wenn ich anschließend diesen Datensatz, wo zu vor ein Eintrag zugeordnet wird wieder aufrufe, soll genau dieser Eintrag im Treeview markiert werde.
Der Datensatz schau so aus:
ID TreeViewID Bezeichnung ... usw.
Was heißt, daß ich im Datensatz die ID des Treevieweintrages speichere. Über diese ID vom Treeview möcht/muss ich dann wieder suchen und markieren können.
Mein derzeitiger Code zum suchen, wird jedoch immer nur der erste Eintrag im Treeview markiert.
Ich komm da einfach nicht weiter, alles lesen bei MSDN und Galileo hat mir bisher nicht geholfen...
Hiffe auf eure Hilfe...
Danke vorab und schönen Fr. noch...
Alex
EDIT:
So fülle ich mein TreeView:
VB.NET-Quellcode
- Private Sub Kategorie_Laden()
- TreeView1.Nodes.Clear()
- Dim dt As DataTable = New DataTable("TreeView")
- Me.TV1_Datentabelle_fuellen(dt)
- Me.TV1_HauptNode_fuellen(dt)
- Me.TreeView1.ExpandAll()
- End Sub
- Public Sub TV1_Datentabelle_fuellen(ByRef dt As DataTable)
- Timer1.Start()
- Try
- Dim sCN As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & Archiv_aktiv
- Dim sql As String = "SELECT * FROM " & Tabelle08 & " ORDER BY ID"
- Dim cn As OleDb.OleDbConnection = New OleDb.OleDbConnection(sCN)
- Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(sql, cn)
- Dim cmd As OleDb.OleDbCommandBuilder = New OleDb.OleDbCommandBuilder(da)
- da.Fill(dt)
- Catch ex As OleDb.OleDbException
- Fehlermeldung = ex.Message & " - Fehler: Kategorieverwaltung, TV1_Datentabelle_fuellen "
- Fehler_Instance.Ausgabe(Fehlermeldung)
- Finally
- ToolStripProgressBar1.Value = 100
- End Try
- End Sub
- Public Sub TV1_HauptNode_fuellen(ByVal dt As DataTable)
- Me.TreeView1.BeginUpdate()
- 'Dim ParentId As Integer
- Dim Tn As TreeNode
- For Each r As DataRow In dt.Rows
- Tn = New TreeNode((r("Kat_Tag").ToString))
- Tn.Tag = (r("ID").ToString)
- Tn.ImageIndex = 0
- Tn.SelectedImageIndex = 1
- If Convert.ToInt32(r("Kat_ParentID")) = 0 Then
- Me.TreeView1.Nodes.Add(Tn)
- End If
- TV1_SubNode_fuellen(Tn, dt, Convert.ToInt32(r("ID")))
- Next
- Me.TreeView1.EndUpdate()
- End Sub
- Public Sub TV1_SubNode_fuellen(ByRef tn As TreeNode, ByRef dt As DataTable, ByVal ID As Integer)
- Dim foundRows() As DataRow = dt.Select("Kat_ParentID = " + ID.ToString, "ID")
- Dim Tn_Sub As TreeNode
- For Each _r As DataRow In foundRows
- Tn_Sub = New TreeNode((_r("Kat_Tag").ToString))
- Tn_Sub.Tag = (_r("ID").ToString)
- Tn_Sub.ImageIndex = 0
- Tn_Sub.SelectedImageIndex = 1
- tn.Nodes.Add(Tn_Sub)
- TV1_SubNode_fuellen(Tn_Sub, dt, Convert.ToInt32(_r("ID")))
- Next
- End Sub
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „lris08“ ()