2009-03-25 3 views
0

J'ai trois treeViews qui ont les mêmes données chargées lors du chargement d'un formulaire. Je peux écrire les données dans trois fonctions différentes, mais cela me semble être une répétition de beaucoup de travail. Comment puis-je charger chaque treeView avec les mêmes données. Jusqu'à présent, j'ai essayé ce qui suit et cela ne fonctionne pas correctement. SecondRowNodes est un ensemble de nœuds que j'ai chargés précédemment dans la fonction.Charger plusieurs treeViews à partir des mêmes données de nœud

//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

Pouvez-vous développer votre modèle de données et donner un exemple du contenu de l'arborescence une fois qu'il est rempli? –

Répondre

0

Avoir une fonction qui prend l'arbre comme paramètre. Il remplit ensuite cette arborescence avec les données, et vous l'appelez trois fois, une fois pour chaque vue arborescente.

Vous devez cependant développer avec un peu plus de détails sur votre modèle de données.

+0

qui fait que je n'ai que le code écrit une seule fois, ce que je suis tout à fait pour. Je voudrais cependant faire en sorte que le code ne fonctionne qu'une fois aussi. Je ne sais pas si c'est possible. – Matt

+0

Passer dans un tableau de treeviews? Je ne suis pas sûr de ce que vous cherchez, je ne pense pas. –

0

Vous voudrez peut-être jeter un oeil à un autre contrôle. J'utilise ObjectListView depuis un certain temps pour presque tous mes besoins listview et treeview. Il vous permet de remplir une liste en lui envoyant tout objet IEnumerable. Cela signifie que vous avez seulement besoin de mettre à jour une liste, puis d'appeler la fonction SetObjects pour tout ou partie de vos composants TreeListView. Prenez le temps de regarder les exemples et le livre de cuisine sur le site web, car c'est une façon très différente de gérer les listes. Vous pouvez trouver la page et le code au ObjectListView