我正在查看这个控件,它似乎缺少用于数据绑定的标准 .net“数据源”和“数据成员”属性。这个控件不可绑定吗?我想我可以编写一些自定义函数,从给定的数据源填充树视图,并根据需要嵌入数据对象,但这是“最佳实践”吗?还是每个人都只是使用 3rd 方树形视图控件?
GWLlosa
问问题
27713 次
3 回答
9
您是正确的,因为没有数据绑定。原因是 TreeViews 是分层数据结构。也就是说,不是一个直接的列表。因此,databind 选项对于说 List 结构是无效的。
可悲的是,它正在创建您自己的填充方法或购买第 3 方控件(最终将拥有自己的填充方法。)
这是一篇关于Binding Hierarchical Data的不错的 MSDN 文章。
于 2008-12-16T23:38:24.597 回答
5
我使用 Developer's Express 中的树形控件。它将获取一个数据表并以分层方式显示/编辑它。
它所需要的只是表中的一个主键字段和一个父 id 字段,它可以找出去哪里。
如果您滚动自己的代码并使用自己的类,则可以做同样的事情。
class Node
{
System.Collections.Generic.List<Node> _Children;
String Description;
void Node()
{
_Children = new System.Collections.Generic.List<Node>();
}
public System.Collections.Generic.List<Node> Children()
{
return (_Children);
}
}
class Program
{
static void Main(string[] args)
{
System.Collections.Generic.List<Node> myTree = new System.Collections.Generic.List<Node>();
Node firstNode = new Node();
Node childNode = new Node();
firstNode.Children().Add(childNode);
}
}
于 2008-12-17T02:46:58.010 回答
2
如果只有几个级别,我喜欢用几个表填充数据集并在列上设置 DataRelation。然后你使用一些嵌套循环并创建你的树节点。
于 2008-12-16T23:47:27.060 回答