从同一节点数据加载多个treeView

时间:2009-03-25 17:09:31

标签: c# treeview

我有三个treeView,在加载表单时加载了相同的数据。我可以用三种不同的函数编写数据,但这似乎重复了很多工作。如何使用相同的数据加载每个treeView。到目前为止,我已经尝试了以下内容,但它无法正常工作。 SecondRowNodes是我之前在函数中加载的一组节点。

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

2 个答案:

答案 0 :(得分:0)

有一个以树视图为参数的函数。然后它只用数据填充树视图,然后调用它三次,每次树视图一次。

您需要在数据模型上更详细地进行扩展。

答案 1 :(得分:0)

您实际上可能想要查看其他控件。几乎所有的listview和treeview需求,我一直在使用ObjectListView。它允许您通过简单地发送任何IEnumerable对象来填充列表。这意味着您只需要更新一个列表,然后为任何或所有TreeListView组件调用SetObjects函数。花一些时间来查看网站上的示例和食谱,因为这是处理列表的一种非常不同的方式。您可以在ObjectListView

找到页面和代码