2009-03-25 5 views
0

フォームがロードされたときに同じデータがロードされる3つのツリービューがあります。私は3つの異なる機能でデータを書くことができますが、それは多くの作業を複製するようです。どのように私は同じデータを持つ各ツリービューを読み込むことができます。これまで私は以下を試してきましたが、正しく動作しません。 SecondRowNodesは、以前にこの関数でロードしたノードのセットです。同じノードデータから複数のtreeViewをロード

//this one misloads the first two and loads treeView4 correctly 
TreeNode topNodes = new TreeNode(currentDataSet.HousingAreaTable[housingAreaCounter].HousingAreaName, secondRowNodes); 
treeView2.Nodes.Add(topNodes); 
treeView3.Nodes.Add(topNodes); 
treeView4.Nodes.Add(topNodes); 

//this one has the same effect as before and loads the first two wrong and treeView4 correctly 
TreeNode topNodes = new TreeNode(currentDataSet.HousingAreaTable[housingAreaCounter].HousingAreaName, secondRowNodes); 
TreeNode topNodes2 = new TreeNode(currentDataSet.HousingAreaTable[housingAreaCounter].HousingAreaName, secondRowNodes); 
TreeNode topNodes3 = new TreeNode(currentDataSet.HousingAreaTable[housingAreaCounter].HousingAreaName, secondRowNodes); 
treeView2.Nodes.Add(topNodes); 
treeView3.Nodes.Add(topNodes2); 
treeView3.Nodes.Add(topNodes3); 
+0

で見つけることができます。データモデルを展開して、ツリービューのコンテンツが一度作成されたらその例を挙げることはできますか? –

答えて

0

ツリービューをパラメータとして持つ関数があります。次に、そのツリービューにデータを入力するだけで、ツリービューごとに3回ずつ呼び出します。

データモデルについてもう少し詳細に説明する必要があります。

+0

それは私がすべてのために一度書かれたコードしか持たない場所にします。私はしかし、コードが一度だけ実行される場所にしたいと思うだろう。私はこれが可能かどうかわからない。 – Matt

+0

ツリービューの配列を渡しますか?私はあなたが何をしているのか分からない、私は思っていない。 –

0

実際には、別のコントロールを見たいと思うかもしれません。私はObjectListViewを使用してきました。ほとんどの場合、リストビューとツリービューのほぼすべてが必要です。任意のIEnumerableオブジェクトを送信するだけで、リストに値を設定できます。つまり、リストを更新して、TreeListViewコンポーネントの一部またはすべてに対してSetObjects関数を呼び出すだけで済みます。リストを扱う方法が非常に異なるため、サンプルと料理本をウェブサイトで見てみてください。ページとコードはObjectListView

関連する問題