交叉表报表 是以交叉表形式呈现信息的报表。 交叉表 (或透视表) 类似于简单的普通 数据绑定表格,但是改为在单个表格中呈现多维的分层级的信息,并含有每行和每列的自动排序、计数、合计和累计。
如果需要创建交叉表报表,我们推荐您留意下列最佳实践:
- 使用 XRPivotGrid 控件创建报表中的透视表。 例如,如果只想在报表中呈现单个透视表,那么只需要把 XRPivotGrid 控件拖放到 细节带区;
- 要为 XRPivotGrid 控件提供数据,则把所需的数据源实例指定到 XRPivotGrid.DataSource 属性。 要确保根报表的 XtraReportBase.DataSource 属性没有被指派; 否则报表的细节带区将被打印与数据源中的行数相同的次数;
-
然后,选择哪些 XRPivotGrid.Fields 的值应该被显示在 行、列 或 数据 区域中。 注意,在设计时刻操作透视字段的最好的方式,是调用“透视网格设计器”,如下图所示。
- 要定制特定透视网格元素的外观,则修改适当的 XRPivotGrid.Appearance 属性的子属性 (例如 XRPivotGridAppearances.Cell、XRPivotGridAppearances.FieldValue、XRPivotGridAppearances.GrandTotalCell)。 如果需要定义特定透视网格元素的 报表样式,则在透视网格的 XRControl.Styles 集合中为它指定适当的样式;
- 可以通过 XRPivotGrid.OptionsData、XRPivotGrid.OptionsDataField、XRPivotGrid.OptionsPrint 和 XRPivotGrid.OptionsView 属性定制所有布局特性和其他外观选项。
- 当交叉表足够大而在打印时超过 1 个实体页面时,XtraReports 就把所有多出的行和列移到其他页面中。 在这种情况下,透视网格的单元格可以被完全移动到后续的页面上,或者“按原样”分隔。 要控制这种行为,则把报表的 XtraReport.VerticalContentSplitting 属性设置为 VerticalContentSplitting.Smart 或 VerticalContentSplitting.Exact;
- 不要忘了把所有必需的程序集 (例如 DevExpress.XtraPivotGrid.v10.2.dll 和 DevExpress.PivotGrid.v10.2.Core.dll) 添加到项目 引用 列表中。 要查看完整的必需的程序集列表,请参阅 Windows 窗体部署 主题;
- 如果把应用程序部署到只支持中度信任许可级别的 Web 主机上,那么有 XRPivotGrid 控件的报表将不能正常工作。 要获得更多相关信息,请参阅 中度信任支持。
下面是一个典型的交叉表报表的示例。