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 ...
随机推荐
- Linux在高铁项目的部署环境
因为Linux和Java像开源.所以,现在在server基本上使用部署Linux平台即server.然后部署项目.在开发项目的过程中.程序员绝大多数仍采用最经典windows操作系统,尽管Linux也 ...
- Javascript中的__proto__、prototype、constructor
今天重温了下Javacript,给大家带来一篇Javascript博文,相信对于Javacript有一定了解的人都听过prototype原型这个概念,今天我们深度的分析下prototype与__pro ...
- projecteuler---->problem=14----Longest Collatz sequence
title: The following iterative sequence is defined for the set of positive integers: n n/2 (n is eve ...
- Android学习路径(十)如何将Action Bar堆放在布局
默认情况下,action bar出如今activity窗体的顶部,稍微降低了activity布局的总空间.假设你想隐藏或者显示action bar,在这堂用户体验的课程中,你能够通过调用hide() ...
- java 二维码原理以及用java实现的二维码的生成、解码(转)
http://blog.csdn.net/songylwq/article/details/8643948 http://sjsky.iteye.com/blog/1136934 http://bbs ...
- XML数组和对象,反之亦然
惊人的互相转换,还是因为麻烦.程序很反感麻烦猿 1 阵转xml <?php /* 一维数组转xml 思路: 循环数组每一个单元,添加到xml文档节点中去 */ /* $arr = array( ...
- Objective-C语法简记学习
開始学习iPhone开发了,尽管如今已经有了Swift,但我还是老老实实地学习Objective-C,鄙人入门的程序语言是C,后来学习了C#和Java,如今来学Objective-C,这篇仅仅是一些非 ...
- Linux环境Eclipse + Tomcat + MySQL 构造J2EE方法开发环境
1. 版本号信息 (1)CentOS 6.4释64位置.uname -a 下面的示例演示显著样本: Linux localhost.localdomain 3.11.6 #1 SMP Sat Nov ...
- 关于Windows azure从github上部署项目
自己做了一个闪存解析的webapi,今天尝试了一下加一个HelpPage,本地访问正常,但是在azure上就报错. 项目是不熟在WindowsAzure上的,项目自动同步github上的项目.gith ...
- sgu128snack
按我的理解大概说下题意: 有非常多个点,最多一万个,告诉你它们的坐标.如今须要构造一条闭合线.这个闭合线满足下面六点: 1必须是闭合的. 2必须用到全部的点. 3构造的线段之间若成角,则必须是90度. ...