0

10 を超えるノードを持つ win フォームにツリー ビューがあり、ノードの値は DB から読み取られ、ノードごとの選択に基づいて動的に変化します。適切な詳細を表示する必要があります (データは DB から読み取られます)。 grid) フォームの右側にある DataGrid で、これを実現する最も簡単な方法はありますか?

4

2 に答える 2

2

プロパティを使用できますTreeNode.Tag。からのデータを含むように既に構築されていますTreeNode。データベースからロードする場合、以下のコードで各ノードのリストデータをロードし、以下のプロパティにTreeNode入れることができます。TagTreeNode

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

ユーザーが TreeView で 1 つのノードを選択すると、次のようになります。

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 に答える