我的结构看起来跟着
Class TreeNode {
public TreeNode Parent { get; }
public IEnumerable<TreeNode> Children { get; }
public . . . .
}
我想将它绑定到一个asp.net telerik radgrid,其中包含每个级别的子节点的详细信息表。我知道radgrid支持使用数据源控件声明绑定到自引用层次结构,但假设您有一个平面数据集(例如来自数据库)并且可以查看某种类型的父键字段。我的问题是有没有人将radgrid绑定到这样的数据结构之前,有没有办法以声明方式或主要以声明方式进行?
答案 0 :(得分:0)
我无法直接回答您的问题,因为我没有使用telerik网格,但我可以提供解决方法。
向您的类添加一个方法,将其内容展平为自引用表,例如您提到的结构。这样你仍然可以使用类,它是你想要的更高级的结构,但仍然可以以符合UI组件期望的可消耗形式输出内容。
这也是扩展方法的一个很好的候选者。
答案 1 :(得分:0)
我能想到的另一种可能的方法是通过基于DetailTableDataBind网格处理程序中的父级过滤子表的日期来动态构建层次结构。这个演示是一个很好的参考:
http://demos.telerik.com/aspnet-ajax/grid/examples/programming/detailtabledatabind/defaultcs.aspx
但我必须同意斯蒂芬的建议可能更方便。
迪克