DevExpress XtraReports 入门五 创建交叉表报表

时间:2022-04-29 15:07:33

原文:DevExpress XtraReports 入门五 创建交叉表报表

本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这样浪费时间才写的这篇文章,高手不想的看请路过

本文内容来DevExpress XtraReports帮助文档,如看过类似的请略过。

废话少说 开始正事

一、准备数据绑定 XRPivotGrid 控件

  • 启动 MS Visual Studio (2005、2008 或 2010),并且新建一个或者打开一个现有的 Windows 窗体应用程序。
  • 添加新报表 到应用程序中。
  • 把 XRPivotGrid 控件从 DX.10.2: Report Controls 工具栏 标签页中拖放到 Detail(细节) 带区。

    DevExpress XtraReports 入门五 创建交叉表报表

  • 单击 xrPivotGrid1 的 智能标记 并在操作列表的 DataSource 下拉菜单中,单击 Add Project Data Source(添加项目数据源)... 链接。

    DevExpress XtraReports 入门五 创建交叉表报表

  • 然后,把控件绑定到 Northwind 示例数据库 (与 XtraReports 安装一起提供的 nwind.mdb 文件) 的 "SalesPerson" 视图。

    DevExpress XtraReports 入门五 创建交叉表报表

注意

如果 XRPivotGrid 与报表一样使用了相同的数据集,那么要确保在执行这些步骤之后,报表的 XtraReportBase.DataSource 属性被设置为 null (在 Visual Basic 中为 Nothing)。

DevExpress XtraReports 入门五 创建交叉表报表

这是必须的,因为如果报表也使用了相同的数据源,那么会导致无效的输出: 报表的细节带区及其包含的透视网格,将被打印与数据源中的行数相同的次数。

二、指定透视网格的内容

  • 再次通过透视网格的智能标记,调用其操作列表,并单击 Run Designer(运行设计器)... 链接。

    DevExpress XtraReports 入门五 创建交叉表报表

  • 在此对话框中, 单击 Retrieve Fields(取回字段) 按钮。 

    DevExpress XtraReports 入门五 创建交叉表报表

  • 切换到左侧导航栏的 Layout(布局) 功能区。

    DevExpress XtraReports 入门五 创建交叉表报表

  • 为了指定透视网格的布局,把所需的字段拖放到适当的区域。 例如:
      - 把 CategoryName 和 ProductName 字段拖放到 行字段 区域; 
      - 把 Country 和 SalesPerson 字段拖放到 列字段 区域; 
      - 把 Quantity 和 ExtendedPrice 字段拖放到 数据项 区域。  
      DevExpress XtraReports 入门五 创建交叉表报表
    如果需要,也可以使用此对话框来调整其他字段选项。 当完成时,单击 Apply(应用) 按钮并关闭对话框。

三、调整透视网格的布局

  • 要在打印预览中按照边框把网格列精确地分开,则可以把报表的 XtraReport.VerticalContentSplitting 属性设置为 Smart。
  • DevExpress XtraReports 入门五 创建交叉表报表
  • 如果需要使列宽适合于字段内容,那么可以在 XRPivotGrid 控件的 XRControl.BeforePrint 事件中,以下列方式完成此任务。
    using System;
    using System.Drawing.Printing;
    using DevExpress.XtraReports.UI;
    // ... private void xrPivotGrid1_BeforePrint(object sender, PrintEventArgs e) {
    xrPivotGrid1.BestFit(fieldProductName);

四、查看运行结果

  • 现在交叉表报表已经就绪。 运行应用程序,并查看结果。

    DevExpress XtraReports 入门五 创建交叉表报表