/ / DataGrid basierend auf der TreeView-Auswahl in winform anzeigen - c #, .net, vb.net, winforms

Zeige DataGrid basierend auf der TreeView-Auswahl in winform - c #, .net, vb.net, winforms

Ich habe eine Baumansicht in meiner Gewinnform, die hatBei mehr als 10 Knoten werden die Knotenwerte aus der Datenbank gelesen und sie ändern sich dynamisch, je nach Auswahl für jeden Knoten. Ich muss die entsprechenden Details (Daten werden aus der Datenbank für das Raster gelesen) im DataGrid auf der rechten Seite des Formulars anzeigen. Gibt es einen einfachsten Weg, dies zu erreichen?

Antworten:

2 für die Antwort № 1

Sie können die Eigenschaft verwenden TreeNode.Tag. Es enthält bereits Daten von TreeNode. Beim Laden TreeNode Aus der Datenbank können Sie die Listendaten für jeden Knoten laden und in die Tag Eigentum von TreeNode Nach folgendem Code.

TreeNode treeNode = new TreeNode(textNodeFromDb);
// for exam the LoadListDataByNodeText will return IList<Details>
treeNode.Tag = LoadListDataByNodeText(textNodeFromDb);

Und wenn der Benutzer einen Knoten in der TreeView auswählt:

if (treeView.SelectedNode != null)
dataGrid.ItemSource = treeView.SelectedNode.Tag as IList<Details>

Weitere Informationen zu TreeNode Bitte folgen Sie dem Link unten. Es enthält auch bereits den Beispielcode:

http://msdn.microsoft.com/en-us/library/system.windows.forms.treenode.tag.aspx


0 für die Antwort № 2
DataGrid.ItemsSource = getSelectedNodeDataList(myTreeView.SelectedNode.Text)

getSelectedNodeDataList sollte eine zurückgeben List von Daten für diesen Knoten. Wenn Sie doppelte Namen haben TreeView benutzen Index Anstatt von Text.