我的 win 表单中有一个树视图,它有超过 10 个节点,节点值是从 DB 中读取的,它会根据每个节点的选择动态变化,我必须显示适当的详细信息(数据将从 DB 中读取网格)在表单右侧的 DataGrid 中,有没有最简单的方法来实现这一点?
问问题
1452 次
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
该节点的数据。如果您使用重复名称TreeView
而Index
不是Text
.
于 2013-05-02T02:29:54.317 回答