与 卡片视图(Card Views) 相似,布局视图 把数据记录显示为卡片,由卡片字段组成。 但是,与卡片视图不同,布局视图支持多种卡片布局,并且允许以多种方式把卡片字段排列在卡片内部。
布局视图的功能是由 XtraLayoutControl 套件 中使用的综合布局管理库提供的。 要在应用程序中使用布局视图,需要确保在项目中引用了 DevExpress.XtraLayout.vX.Y.dll 库。
卡片的布局
布局视图以卡片形式呈现数据,记录呈现为卡片,记录字段呈现为卡片字段。 在默认情况下,卡片包含了用于最小化卡片和恢复卡片的“展开/折叠按钮”:
在布局视图顶部的 标头面板 提供了一组允许最终用户在多种显示模式中进行切换的按钮。
与卡片视图(Card View) 相似,布局视图不能呈现主/从模式中的主数据表。 在其他方面,布局视图的行为与其他视图的行为相类似。 请参阅 视图和层 来学习更多内容。
布局视图是由 LayoutView 类封装的,该类是 ColumnView 类的子类。 布局视图继承了由 ColumnView 实现的所有功能——支持使用列和记录、数据排列和筛选,并提供了使用卡片的新方法。
布局视图支持多种卡片布局。 要选择卡片布局,则使用 LayoutViewOptionsView.ViewMode 属性 (可以通过 LayoutView.OptionsView 对象访问)。 可以使用一列或多列/行来显示卡片,或者同时在视图内居中显示单张卡片。 下面的拼贴插图显示了某些布局:
除了这些卡片布局之外,布局视图还支持把卡片排列为椭圆状,称为 carousel 模式。 在这种模式中,除去当前卡片之外,使用透明效果绘制其他所有卡片,并且显示在当前卡片的下面。 在使用滚动条、方向键或鼠标滚轮来滚动卡片时,卡片沿着指定的椭圆曲线向前移动。
在 carousel 模式中,可以通过 LayoutView.OptionsCarouselMode 对象来定制影响卡片布局的多个显示选项。
卡片字段的布局
布局视图中的卡片由卡片字段组成,并且可以使用多种布局来排列这些卡片字段 (作为比较, 卡片视图 的卡片字段始终是逐个向下放置的)。 卡片字段可以并排放置、逐个向下放置,并且每个卡片字段都可以横跨多个相邻的字段。 此外,可以分组组合卡片字段,以模仿“分组框”的分组功能。 下面的拼贴插图展示了示例卡片:
卡片字段始终包含一个呈现相应数据字段值的取值区。 它也包含了可以按需要隐藏的标题区。 在上面的插图中,显示职员相片的字段标题已被隐藏。
通过 LayoutViewColumn 对象来表示卡片字段,此对象派生于 GridColumn 类。 列对象仅指定显示设置和行为设置,不直接存储布局设置。 卡片字段的布局设置 (在卡片内的位置、缩进、字段标题的可视性和对齐方式等) 是由 布局字段 (由 LayoutViewField 对象表示) 指定的。
在布局视图中,每个列对象都与一个特定的布局字段对象相对应,反之亦然。 在创建列时,也创建一个布局字段,并且它的方法可以用于在卡片内放置字段,以及定制其他的布局选项。
以特定方式排列的布局字段可以形成一张模板卡片,作为在运行时刻创建卡片的模式。 模板卡片可以容纳更多的布局字段。 它可以包含空白区和分组(组合其他布局字段和空白区)。 可以通过 LayoutView.TemplateCard 属性访问模板卡片。
定制模板卡片 (添加和放置布局字段,分组组合它们,指定卡片字段标题的位置、对齐方式和可视性,以及其他多种布局设置) 的最简单的方法,是使用网格控件的设计器的 “布局(Layout)”页面。