0

我的 win 表单中有一个树视图,它有超过 10 个节点,节点值是从 DB 中读取的,它会根据每个节点的选择动态变化,我必须显示适当的详细信息(数据将从 DB 中读取网格)在表单右侧的 DataGrid 中,有没有最简单的方法来实现这一点?

4

2 回答 2

2

您可以使用该属性TreeNode.Tag。它已经构建为包含来自TreeNode. 从数据库加载TreeNode时,您可以加载每个节点的列表数据,并将其放在下面的代码后面的Tag属性中。TreeNode

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

当用户在 TreeView 上选择一个节点时:

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

要获取更多信息,TreeNode请点击以下链接。它也已经包含示例代码:

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

于 2013-05-02T02:47:55.173 回答
0
DataGrid.ItemsSource = getSelectedNodeDataList(myTreeView.SelectedNode.Text)

getSelectedNodeDataList应该返回List该节点的数据。如果您使用重复名称TreeViewIndex不是Text.

于 2013-05-02T02:29:54.317 回答