Xamarin的Telerik UI免费下载30天试用版

数据表组布局

RadDataForm通过以下属性支持不同的组布局:

  • GroupLayoutDefinition:定义一个布局定义,用于排列所有数据表单组中的编辑器。
  • GroupLayoutDefinitionSelector获取或设置为每个组应用特定布局的布局定义选择器。

如果没有定义组,则将所有编辑器安排在默认组中。

的源类元数据中定义了编辑器排列的信息DisplayOptionsAttribute。都在这里DisplayOptionsAttribute由布局解释的属性:

  • 位置:默认值:0
  • ColumnPosition:默认值:0
  • ColumnSpan:默认值:1

堆栈布局定义

DataFormGroupStackLayoutDefinition在按DisplayOptions排序的堆栈中排列编辑器位置价值。

下面是一个示例源对象类:

公共类SourceItem {[DisplayOptions(Group = "Value", Header = "1:", Position = 2)]公共int Value {get;设置;} = 2;[DisplayOptions(Group = "Value", Header = "2:", Position = 1)] public int Value1 {get;设置;} = 1;[DisplayOptions(Group = "Value", Header = "3:", Position = 0)] public int Value2 {get;设置;} = 0;[DisplayOptions(Group = "Name", Header = "Name 1: ", Position = 0)] public string Name {get; set; } = "position 0"; [DisplayOptions(Group = "Name", Header = "Name 2:", Position = 1)] public string Name1 { get; set; } = "position 1"; }

下面的示例演示了如何为所有组设置堆栈布局:

    < telerikInput: RadDataForm。GroupLayoutDefinition>   
var dataForm = new RadDataForm {GroupLayoutDefinition = new DataFormGroupStackLayoutDefinition(), Source = new SourceItem()};

结果如下:

网格布局定义

DataFormGroupGridLayoutDefinition在网格中排列编辑器。每个编辑器都放置在DisplayOptions定义的位置上位置(行)和ColumnPosition(列)值。编辑器占用的列数由DisplayOptions定义ColumnSpan财产。

下面是一个示例源对象类:

公共类SourceItem {[DisplayOptions(Group = "Value", Header = "1:", Position = 0, ColumnPosition = 0)]公共int Value {get;设置;} = 0;[DisplayOptions(Group = "Value", Header = "2:", Position = 0, ColumnPosition = 1)] public int Value1 {get;设置;} = 1;[DisplayOptions(Group = "Value", Header = "3:", Position = 1, ColumnPosition = 0)] public int Value2 {get;设置;} = 2;[DisplayOptions(Group = "Value", Header = "4: ", Position = 1, ColumnPosition = 1)] public int Value3 {get; set; } = 3; [DisplayOptions(Group = "Name", Header = "Name 1: ", Position = 1, ColumnPosition = 0)] public string Name { get; set; } = "1, 0"; [DisplayOptions(Group = "Name", Header = "Name 2:", Position = 1, ColumnPosition = 1)] public string Name1 { get; set; } = "1, 1"; [DisplayOptions(Group = "Name", Header = "Name 3:", Position = 0, ColumnPosition = 0)] public string Name2 { get; set; } = "0, 0"; [DisplayOptions(Group = "Name", Header = "Name 4:", Position = 0, ColumnPosition = 1)] public string Name3 { get; set; } = "0, 1"; }

下面的示例演示了如何为所有组设置网格布局:

    < telerikInput: RadDataForm。GroupLayoutDefinition>   
var dataForm = new RadDataForm {GroupLayoutDefinition = new DataFormGroupGridLayoutDefinition(), Source = new SourceItem()};

结果如下:

布局定义选择器

有时每个组需要不同的布局。在这些情况下,您可以使用布局定义选择器。的类IDataFormGroupLayoutDefinitionSelector接口,并为每个组提供布局定义。

下面是一个示例布局定义选择器类:

public class CustomGroupLayoutDefinitionSelector: IDataFormGroupLayoutDefinitionSelector {public DataFormGroupLayoutDefinition SelectLayoutDefinition(string groupName) {if (groupName == "Name") {return new DataFormGroupGridLayoutDefinition();} if (groupName == "Value"){返回新的DataFormGroupStackLayoutDefinition {Orientation = Orientation。垂直};}返回null;}}

下面是一个示例源对象类:

公共类SourceItem {[DisplayOptions(Group = "Value", Header = "1:", Position = 2)]公共int Value {get;设置;} = 2;[DisplayOptions(Group = "Value", Header = "2:", Position = 1)] public int Value1 {get;设置;} = 1;[DisplayOptions(Group = "Value", Header = "3:", Position = 0)] public int Value2 {get;设置;} = 0;[DisplayOptions(Group = "Name", Header = "Name 1: ", Position = 0)] public string Name {get; set; } = "position 0"; [DisplayOptions(Group = "Name", Header = "Name 2:", Position = 1)] public string Name1 { get; set; } = "position 1"; }

下面的示例演示了如何在数据表单中使用布局选择器:

    < telerikInput: RadDataForm。GroupLayoutDefinition>   
var dataForm = new RadDataForm {GroupLayoutDefinition = new DataFormGroupStackLayoutDefinition(), Source = new SourceItem()};

结果如下:

另请参阅

在本文中
Baidu
map