TreeView Databind - 来自c#对象?

时间:2009-11-05 19:39:47

标签: c# asp.net data-binding treeview

我想从数据结构中对我的TreeView进行数据绑定。在谷歌搜索后,我得出结论,使用节点列表编写我自己的简单树结构将是要做的事情。但是,我想知道我是否走在正确的道路而不是过度 - 据我所知,c#中没有Tree结构。

将TreeView绑定到数据的首选方法是什么? (当然是动态的)。 我可以这样做:

List<node> nodes = new List<Node>();
//populate the nodes object
myTree.DataSource = nodes;

这将是理想的....有没有人有幸将树绑定到实际对象? 据我所知,到目前为止,我必须手动将TreeNode节点添加到树中,并从我的节点列表中填充它们,这很好,但如果有更简单的方法,那就更好了。

谢谢!

3 个答案:

答案 0 :(得分:1)

MSDN在绑定TreeView时有很多information

我更喜欢使用SiteMap绑定数据。

此外,您可以通过LINQ to XML

创建节点

答案 1 :(得分:1)

如果您正在使用ASP.NET,则可以阅读TreeViews here的数据绑定。

然而,在winforms中,TreeView不支持数据绑定。你必须自己做,所以你必须手动添加节点的理解是正确的。

您可以在底层数据结构上实现INotifyPropertyChanged,然后监听该事件,并在节点发生变化时根据需要重绘TreeView。

答案 2 :(得分:0)

这是一个很好的链接,解释了如何使用以下功能对树视图进行数据绑定:

  • 将数据加载到树结构中。
  • 跟踪数据中的更改,并在控件中显示它们
  • 除了SelectedNode之外,公开像SelectedValue这样的get / set属性,通常你有你想要选择的节点的值(但不是节点本身!)

DataBound TreeView