DevExpress XtraReports 入门五 创建交叉表报表
原文: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 入门五 创建交叉表报表的更多相关文章
- DevExpress XtraReports 入门一 创建 Hello World 报表
原文:DevExpress XtraReports 入门一 创建 Hello World 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更 ...
- DevExpress XtraReports 入门二 创建 data-aware(数据感知) 报表
原文:DevExpress XtraReports 入门二 创建 data-aware(数据感知) 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的, ...
- DevExpress XtraReports 入门四 创建 Web 报表
原文:DevExpress XtraReports 入门四 创建 Web 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这 ...
- [原创]Devexpress XtraReports 系列 5 创建交叉报表
昨天我们已经介绍了如何创建多栏报表,详见:[原创]Devexpress XtraReports 系列 4 创建多栏报表 今天我们继续我们的XtraReports系列.Demo和数据库文件最后会附上. ...
- DevExpress XtraReports 入门三 创建 Master-Detail(主/从) 报表
原文:DevExpress XtraReports 入门三 创建 Master-Detail(主/从) 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用 ...
- [原创]Devexpress XtraReports 系列 9 创建邮件合并报表
昨天发表了Devexpress XtraReports系列第八篇[原创]Devexpress XtraReports 系列 8 创建Drill-Through报表,今天我们继续. 今天的主题是创建邮件 ...
- [原创]Devexpress XtraReports 系列 4 创建多栏报表
昨天我们完成了 [原创]Devexpress XtraReports 系列 3 创建主从报表 今天我们继续学习新的一种报表模式:多栏报表.(Demo源码,数据库最后附上) 或许很多人会问什么是多栏报表 ...
- [原创]Devexpress XtraReports 系列 6 创建并排报表
昨天我们已经介绍了如何创建交叉报表,详见:[原创]Devexpress XtraReports 系列 5 创建交叉报表 今天我们继续我们的XtraReports系列.Demo和数据库文件最后会附上. ...
- [原创]Devexpress XtraReports 系列 10 创建标签报表
今天这篇是Dx Reports 基础初级系列的最后一篇了.以后如果有什么高级的应用,应该另开一个中级使用系列. 昨天发表了Devexpress XtraReports系列第九篇[原创]Devexpre ...
随机推荐
- Matlab Error (Matrix dimensions must agree)
xOld =input('Enter initial guess: '); errortmp =2; counter =0; while (errortmp>10^-10) xNew =xOld ...
- Oracle 学习笔记 17 -- 异常处理(PL/SQL)
程序异常是在操作期间正常,出现在节目的准备过程是不可避免的例外.但是,必须有一个相应的异常处理机 制,以保证程序的正常运行.PL/SQL程序运行过程中出现的错误.称为异常. 一个优秀的程序都应该可以正 ...
- 高质量c c++编程
第1章 文件结构 每一个C++/C程序通常分为两个文件.一个文件用于保存程序的声明(declaration),称为头文件.还有一个文件用于保存程序的实现(implementation),称为定义(de ...
- HBase系列文章汇总
本文整理汇总了本博客自去年学习HBase以来写的全部关于HBase的相关内容.持续更新中,很多其它内容.敬请关注! 相关知识: 1.<布隆过滤器(Bloom Filter)> 2.< ...
- Cocos2d-x示例:单点触摸事件
为了让大家掌握Cocos2d-x中的事件机制,以下我们以触摸事件为例.使用事件触发器实现单点触摸事件.该实比如图8-3所看到的,场景中有三个方块精灵,显示顺序如图8-3所看到的,拖拽它们能够移动它们. ...
- Maven学习笔记(十一年):柔性结构
一个典型的项目将是开发环境.测试环境和生产环境,这些环境的数据库配置是不一样的,并使用正确的配置. Maven为了支持构建的灵活性,内置了三大特性,即属性.Profile和资源过滤.本章将介绍这些特性 ...
- MVC 中使用 SignalR 实现推送功能
MVC 中使用 SignalR 实现推送功能 一,简介 Signal 是微软支持的一个运行在 Dot NET 平台上的 html websocket 框架.它出现的主要目的是实现服务器主动推送(Pus ...
- Sails.js中文文档
Sails.js中文文档 http://sailsdoc.swift.ren/ Sails.js是一个Web框架,可以于轻松构建自定义,企业级Node.js Apps.它在设计上类似于像Ruby ...
- 信息二战炸弹:中国到美国咨询公司Say no
疯抢/文 在禁止Windows8操作系统參与政府採购,以及在中国销售的全部外国IT产品和服务都须通过新的安全审查之后,英国<金融时报>今天报料中国已禁止国企使用美国咨询公司服务. 这则消息 ...
- hdu2852--KiKi's K-Number(段树,求第一k的数量)
KiKi's K-Number Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...