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

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

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

废话少说 开始正事

一、准备数据绑定 XRPivotGrid 控件

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

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

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

注意

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

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

二、指定透视网格的内容

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

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

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

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

三、调整透视网格的布局

  • 要在打印预览中按照边框把网格列精确地分开,则可以把报表的 XtraReport.VerticalContentSplitting 属性设置为 Smart。
  • 如果需要使列宽适合于字段内容,那么可以在 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 入门五 创建交叉表报表的更多相关文章

  1. DevExpress XtraReports 入门一 创建 Hello World 报表

    原文:DevExpress XtraReports 入门一 创建 Hello World 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更 ...

  2. DevExpress XtraReports 入门二 创建 data-aware(数据感知) 报表

    原文:DevExpress XtraReports 入门二 创建 data-aware(数据感知) 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的, ...

  3. DevExpress XtraReports 入门四 创建 Web 报表

    原文:DevExpress XtraReports 入门四 创建 Web 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这 ...

  4. [原创]Devexpress XtraReports 系列 5 创建交叉报表

    昨天我们已经介绍了如何创建多栏报表,详见:[原创]Devexpress XtraReports 系列 4 创建多栏报表 今天我们继续我们的XtraReports系列.Demo和数据库文件最后会附上. ...

  5. DevExpress XtraReports 入门三 创建 Master-Detail(主/从) 报表

    原文:DevExpress XtraReports 入门三 创建 Master-Detail(主/从) 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用 ...

  6. [原创]Devexpress XtraReports 系列 9 创建邮件合并报表

    昨天发表了Devexpress XtraReports系列第八篇[原创]Devexpress XtraReports 系列 8 创建Drill-Through报表,今天我们继续. 今天的主题是创建邮件 ...

  7. [原创]Devexpress XtraReports 系列 4 创建多栏报表

    昨天我们完成了 [原创]Devexpress XtraReports 系列 3 创建主从报表 今天我们继续学习新的一种报表模式:多栏报表.(Demo源码,数据库最后附上) 或许很多人会问什么是多栏报表 ...

  8. [原创]Devexpress XtraReports 系列 6 创建并排报表

    昨天我们已经介绍了如何创建交叉报表,详见:[原创]Devexpress XtraReports 系列 5 创建交叉报表 今天我们继续我们的XtraReports系列.Demo和数据库文件最后会附上. ...

  9. [原创]Devexpress XtraReports 系列 10 创建标签报表

    今天这篇是Dx Reports 基础初级系列的最后一篇了.以后如果有什么高级的应用,应该另开一个中级使用系列. 昨天发表了Devexpress XtraReports系列第九篇[原创]Devexpre ...

随机推荐

  1. uva 1331 - Minimax Triangulation(dp)

    option=com_onlinejudge&Itemid=8&page=show_problem&category=514&problem=4077&mosm ...

  2. oracle存储过程的例子

    oracle存储过程的例子 分类: 数据(仓)库及处理 2010-05-03 17:15 1055人阅读 评论(2)收藏 举报 认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的 ...

  3. Linux 没有 my.cnf 解决方案文件完全我自己的整个教程很多口才

    我看过好多关于Linux下没有my.cnf的博客,都是什么rmp安装没有my.cnf文件啊,然后什么两个方法啊,我就无语了,大家要是知道就不会查资料了,你们敢不敢负责点?说具体点?有的说从 /usr/ ...

  4. C++ Primer 学习笔记_45_STL实践与分析(19)--建筑常规算法

    STL实践与分析 --泛型算法的结构 引言: 正如全部的容器都建立在一致的设计模式上一样,算法也具有共同的设计基础. 算法最主要的性质是须要使用的迭代器种类.全部算法都指定了它的每一个迭代器形參可使用 ...

  5. SorlNet

    Solr学习 上一篇已经讲到了Solr 查询的相关的参数.这里在讲讲C#是如何通过客户端请求和接受solr服务器的数据, 这里推荐使用SolrNet,主要是:SolrNet使用非常方便,而且用户众多, ...

  6. nodejs显现events.js:72抛出错误

    随着人们开始学习,我用nodejs过程中遇到如下列错误执行: events.js:72 throw er; // Unhandled 'error' event ^ Error: listen EAD ...

  7. iOS_67控件外观对照

    iOS 7 button无边框,操作栏透明,控制器全屏 Tab Bar 对照 iOS 7                                                         ...

  8. 修改session的存储机制

    <?php  //修改session的存储机制 //最起码应该有一个 读方法, 和一个 写方法. //1, 我们先去建立 读方法 和 写方法. //2, 告知session系统,使用我们的方法完 ...

  9. Paypal-Express Checkout快捷支付方式的android端开发心得(二)

    一.前导 上一篇讲的不是非常好,这里再又一次讲一下. Paypal手机支付有2种形式: 1.Mobile Express Checkout,MEC,快捷支付 2.MPL 假设採用MEC支付方式,这样的 ...

  10. Nancy

    Nancy Nancy 是一个轻量级的,简单粗暴的framework用来构建基于HTTP的各种服务,兼容.Net和Mono.Nancy的整套设计理念是基于"super-duper-happy ...