树形数据表格列类型
树形数据网格支持三种不同的列类型:
- 文本列
- 层次结构展开列
- 模板列
文本列
文本列(类 TextColumn
)在您希望列中的单元格具有文本值时非常有用。可以这样创建文本列:
new TextColumn<ItemClass, string>("Column Header", x => x.Property)
这里的第一个泛型参数是构成网格行的项目的类。第二个泛型参数是属性的类型。
上图是 TextColumn
构造函数的签名。前两个参数是必需的:第一个是列标题,第二个是获取属性值的表达式。
TextColumn
类实现了列接口 IColumn
。
层次结构展开列
层次结构展开列(类:HierarchicalExpanderColumn
)只能 与 层次结构 数据操作模式一起使用,并且必须与数据源类 HierarchicalTreeDataGridSource
一起使用。此列类型必须包含一个内部列(接口 IColumn
)来定义其标题和值属性。层次结构展开列在层次树数据网格中显示展开和收缩的按钮。
这种列类型可以这样创建:
new HierarchicalExpanderColumn<ItemClass>(
new TextColumn<ItemClass, string>("Column Header", x => x.Property),
x => x.Children)
泛型参数是构成网格行的项目的类。这与内部列的项目类相同。
上图是 HierarchicalExpanderColumn
构造函数的签名。构造函数中的第一个参数是内部列,第二个参数是(可为空的) 子元素选择器。
模板列
模板列(类 TemplateColumn
)是一种完全可定制的方式来创建列。它本质上为列形成一个数据模板。
您可以这样创建模板列:
new TemplateColumn<ItemClass>("Column Header",
new FuncDataTemplate<T>((a,e) => new SomeControl()))
上图是 TemplateColumn
构造函数的签名。它有两个必需的参数:第一个是列标题,第二个是返回 IDataTemplate
的函数。
信息
有关在代码中创建数据模板概念的更多信息,请参见此处。