XtraTreeList 控件通过 节点 和列显示数据。 如果控件被绑定到数据源,则列呈现字段,而节点与记录对应。 下面的插图说明了 TreeList 列:
列对象
XtraTreeList 控件在 TreeList.Columns 集合中存储列。 每个由 TreeListColumn 类对象表示的列都提供了属性,以指定列的可视性、显示标题、宽度、内置编辑器、外观和格式设置等。 但是,列的主要属性是 TreeListColumn.FieldName。 在 绑定模式 中,它指定数据源字段,此字段的数据被显示在当前列中。
可以通过由 TreeList.Columns 集合提供的索引器访问列。 索引器接受列的索引号或绑定字段名作为参数。 TreeListColumn 对象是组件。 因此,如果在设计时刻创建列,则可以在代码中通过名称访问列,与其他组件类似。
可以通过 TreeList.FocusedColumn 属性访问获得焦点的列。 获得焦点的节点 (TreeList.FocusedNode) 加上获得焦点的列标识了当前获得焦点的单元格。 如果需要把焦点移入另一列,则把该列指派到 TreeList.FocusedColumn 属性。
列的布局
TreeList.Columns 集合中列的位置不指定列的可视顺序。 列的可视位置通过其 TreeListColumn.VisibleIndex 属性指定。 把此属性设置为 -1 则隐藏该列。 把此属性设置为非负整数则再次使它可视。
在运行时刻,最终用户可以定制列的布局 (重排、隐藏和恢复列)。 可以使用拖放操作重设列的顺序。 要隐藏某些列,需要调用 “自定义”窗体,并且通过拖动列标头把列从 TreeList 控件拖放到“自定义”窗体。
要访问和恢复已隐藏的列,最终用户需要再次显示“自定义”窗体,并且把列从此窗体中拖回 TreeList 控件。 注意,把列移入/移出“自定义”窗体会改变 TreeListColumn.VisibleIndex 属性。
在默认情况下,列被按比例调整大小,以完全适合于 TreeList 控件的宽度。 通过 TreeListOptionsView.AutoWidth 属性可以禁用此功能。 在这种情况下,列有精确的由 TreeListColumn.Width 属性指定的宽度。
列的行为
通过 TreeListColumn.OptionsColumn 属性,可以禁用和启用列的多个行为选项。 此属性用于访问下列设置:
- TreeListOptionsColumn.AllowEdit。 指定列是否可被编辑。 也可以通过 TreeListOptionsBehavior.Editable 属性禁止编辑 TreeList 控件。
- TreeListOptionsColumn.AllowFocus。 指定列是否可以获得焦点。
- TreeListOptionsColumn.AllowMove。 指定列是否可以被拖动到新的位置。
- TreeListOptionsColumn.AllowMoveToCustomizationForm。 指定列是否可以被隐藏到“自定义”窗体。
- TreeListOptionsColumn.AllowSize。 指定列是否可以被调整大小。
- TreeListOptionsColumn.AllowSort。 指定列是否可以被排序。
- TreeListOptionsColumn.FixedWidth。 指定列的宽度是否固定。 请参阅 固定列 主题来学习更多内容。
- TreeListOptionsColumn.ReadOnly。 指定列是否只读。
- TreeListOptionsColumn.ShowInCustomizationForm。 指定列被隐藏时是否显示在“自定义”窗体。
外观选项
可以通过下列方式更改列的外观:
-
把编辑器指派到列。
所指派的编辑器被用于编辑列单元格的取值,并且指定了列取值的格式和表示形式。 请参阅 内置编辑器 来学习更多内容。
-
定制外观设置。
使用 TreeListColumn.AppearanceCell 或 TreeListAppearanceCollection.Row 属性来定制列单元格的外观。 可以通过 TreeListColumn.AppearanceHeader 和 TreeListAppearanceCollection.HeaderPanel 属性定制列标头的外观。 请参阅 外观 主题获得额外的信息。
-
设置列取值的格式。
请参阅 为列值设置格式 主题获知细节。