2009-06-04 8 views
0

Linq-SQLを使用していて、データをフォームのTreeViewに表示したいとします。もし問題があるなら、.net 3.5も使用しています。Linqを使用したツリービューへの挿入

今、私の質問です。このツリービューを作成するには、より良い方法がありますか?私が今やっていることは、このようなものです(擬似):

for each order 
{ 
    OrderNode = new TreeViewNode 

    for each product in order 
    { 
    ProductNode = new TreeViewNode 
    OrderNode.Add(ProductNode) 
    } 

    OrdersTreeView.Add(OrderNode) 
} 

ありがとうございます!ここで

答えて

2

は再帰与えられたノードを作成するためのラフな方法です(素敵に半擬似マッシュアップ)

private void CreateNodeAndInvestigateChildrenOfNode(HierarchyData data) 
    { 
     //does this node have children??? 
     if (data.HasChildren) 
     { 
      //get children 
      IEnumerable<ChildRecord> childUsers = GetChildRecordsForData(data); 
      foreach (child in childUsers) 
      { 
     HierarchyData newNode = new HierarchyData(); 
       newNode.ParentNode = data; 
       newNode.ThisData = child; 
       data.ChildNodes.Add(newNode); 

       CreateNodeAndInvestigateChildrenOfNode(newNode); 
      } 
     } 
    } 

あなたのルートノードを検索し、メソッドを呼び出します。

インターフェイスIHierarchyDataおよびIHierarchicalEnumerableを使用し、これらを実装するクラスでノードを構築する場合、treenodeはこれを直接データソースとして受け入れます。

+0

ねえ、それは私がやっていたよりも良い方法です!ありがとう:) – josha76

関連する問題