XtraGrid 使用 视图 来显示绑定数据源中的数据。 本文档描述了 XtraGrid 提供的视图类的层次结构。
视图的层次结构
XtraGrid 提供的视图类的层次结构显示在下图中。
- BaseView 是根本的视图类,并实现了基本功能。 该类是抽象类,因此不能创建实例。 它声明了使用 编辑器、外观、工具提示、细节 以及 保存和恢复布局 的虚方法,但这些方法由子类实现。
-
ColumnView 提供了使用列与行/记录 (请参阅 行与卡片概述) 的方法。 该类是抽象类,不能创建实例。
列呈现绑定数据源的字段,而行对应于数据源的记录。 ColumnView 不决定如何安排行和列。 ColumnView 类实现了下列方法: 操作列、访问特定行及单元格、最大化细节、显示工具提示、排序 和 筛选数据、选中多行。
-
GridView 以表格形式呈现数据。
这种视图支持 分组、递进搜索、汇总计算、显示主/从关系 和 显示预览区。 也提供了通过 上下文菜单 定制视图布局的方法。 列可以被锚定到视图的左边缘或右边缘。 不能使用视图来水平滚动被锚定的列。 请参阅 网格视图(Grid View) 文档来学习更多内容。
- BandedGridView 扩展了网格视图的功能,提供了用于组合相似列的 带区。 把列添加到带区中后,列只能被显示。 隐藏一个带区就自动隐藏它的全部所属列。 BandedGridView 类只支持单行列布置。 带区可以被锚定到左侧或右侧。 不支持固定列。 请参阅 带区网格视图(Banded Grid View) 文档来学习更多内容。
- AdvBandedGridView 扩展了 BandedGridView 的功能。 这种视图允许把带区内的列布置在多行内。 列可以有不同的高度。 请参阅 高级带区网格视图(Advanced Banded Grid View) 文档来学习更多内容。
- LayoutView 把记录显示为 卡片,支持多种字段布局。 卡片可以被布置在单个/多个列或行中; 或者使用一种高级的 carousel(椭圆带) 模式,在这种模式中卡片可以组成有透明效果的椭圆形式。 请参阅 布局视图(Layout View) 来学习更多内容。
- CardView 把每条记录都显示为一个简单的 卡片,在单个列中竖向布置字段。 请参阅 卡片视图(Card View) 文档来学习更多内容。
视图元素的布局信息存储在视图的 protected ViewInfo 对象中。 这指定元素的位置和大小。 每个视图也都提供了一个 Painter 对象,此对象根据当前的外观与感觉绘制视图。 Painter 对象使用 ViewInfo 中的信息和视图的设置来呈现视图。 Handler 是另一个重要的视图对象。 它管理由 GridControl 类传递的键盘和鼠标事件。