什么是并排报表呢?

  

按照我个人理解:并排报表是把两张或者两张以上的报表,放在一个报表页面。

注:为了方便,本示例使用同一个数据源,但是您可以使用相同的方法,而在一个报表文档中显示两个完全不同的 (使用不同数据源的) 报表。

依照惯例,我们先来看看我们最后实现的效果,如图:

  

第一步:窗体布局。

新建一个WinForm窗体,,拉入第三方控件SimpleButton,DocumentViewer,SplitContainerControl,LabelControl,TextEdit,GroupControl,无非就是设置空间Dock属性,还有字体Text属性等,简单布局我就不多阐述了。可以参考系列第一篇。

第二步:创建两个个Devexpress XtraReport报表文件。一个是明细报表DetailSideBySideRpt(用于绑定到最后显示的并排报表MasterSideBySideRpt),一个是最后显示的并排报表MasterSideBySideRpt  如图:

  

  然后新建一个MasterSideBySideRpt,如图:

    

那如何把我们新建的DetailSideBySideRpt报表,并排显示到MasterSideBySideRpt呢?

方法一:添加控件XrSubreport 如图:

  

也可以手动添加代码

this.xrSubreport1.ReportSource = new 创建并排报表.DetailSideBySideRpt();

this.xrSubreport2.ReportSource = new 创建并排报表.DetailSideBySideRpt();//这里我并排的两张报表都使用了同一个DetailSideBySideRpt,可以使用不同的

Form代码

  

       /// <summary>
/// 获取数据集
/// </summary>
/// <returns>返回数据集</returns>
private DataSet Getdataset()
{
DataSet ds = new DataSet();
string cstr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString.ToString();
SqlConnection mycon = new SqlConnection(cstr);
try
{
mycon.Open();
SqlCommand mycom = new SqlCommand("select * from jiaochainfo", mycon);
SqlDataAdapter dpt = new SqlDataAdapter(mycom);
dpt.Fill(ds, "jiaochainfo");
mycon.Close();
}
catch (Exception ex)
{ MessageBox.Show(ex.Message);
} return ds;
}
//点击事件
private void simpleButton1_Click(object sender, EventArgs e)
{
DataSet ds = Getdataset();
XtraReport1 report = new XtraReport1(ds);
report.Landscape = true;
MianXtrareport rpt = new MianXtrareport(ds);
rpt.Landscape = true;
documentViewer1.DocumentSource = rpt;
//显示主报表的文档
rpt.CreateDocument();
} }

详细报表代码

  

         //构造数据参数绑定字段
public XtraReport1(DataSet ds)
{
InitializeComponent();
this.DataSource = ds;
this.DataMember = "jiaochainfo";
this.xrLabel1.DataBindings.Add("Text",ds,"name");
this.xrLabel2.DataBindings.Add("Text",ds,"sex");
this.xrLabel3.DataBindings.Add("Text",ds,"older");
}

主报表代码

  

        //主报表构造函数
public MianXtrareport( DataSet ds)
{
InitializeComponent();
//关键的一步,xrsubreport 控件的报表源等于 xtrareport
this.xrSubreport1.ReportSource = new 并排报表.XtraReport1(ds);
this.xrSubreport2.ReportSource = new 并排报表.XtraReport1(ds); } //在显示之前的事件,利用FilterString属性过滤数据源 private void xrSubreport1_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
//jtype为数据库库的字段
((XRSubreport)sender).ReportSource.FilterString = "jtype =='体育明星'";
}
//利用FilterString属性过滤数据源 private void xrSubreport2_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
((XRSubreport)sender).ReportSource.FilterString = "jtype =='影视明星'";
}

Devexpress Xtrareport 并排报表的更多相关文章

  1. Devexpress Xtrareport 打印报表

    需要引用 Using Devexpress.Xtrareport.UI: Using Devexpress.XtraPrinting.Localiztion 实例化报表,xtrareport my=n ...

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

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

  3. DevExpress.XtraReports.UI.XtraReport 动态报表

    原文:DevExpress.XtraReports.UI.XtraReport 动态报表 using System;using System.Collections.Generic;using Sys ...

  4. DevExpress XtraReport - 动态加载报表布局模板

    XtraReport的报表模板文件是.repx,下面的代码演示动态加载报表布局模板. XtraReport mReport = new XtraReport(); mReport.LoadLayout ...

  5. Devexpress XtraReports 交叉报表

    [原创]Devexpress XtraReports 系列 5 创建交叉报表   昨天我们已经介绍了如何创建多栏报表,详见:[原创]Devexpress XtraReports 系列 4 创建多栏报表 ...

  6. DevExpress XtraReport报表预览时可编辑的功能

    设置控件的EditOptions.Enabled=true即可 注册实现PrintingSystem. EditingFieldChanged事件,可获得当前发生更改的控件的值. 另:XtraRepo ...

  7. Devexpress Xtrareport 创建主从报表

    效果 xtrareport 布局 From 代码 private DataSet Getdata() { DataSet ds = new DataSet(); //config配置字符串 strin ...

  8. C# WinfForm 控件之dev报表 XtraReport (五) 并排报表

    有了前边的基础这个就很简单了,建一个容器报表 在detail,上放两个xrsubReport.再做两个明细报表,分别指定到xrsubreport就可以了

  9. devexpress XtraReport报表 ---主从报表

    private void GetWqpWorkPrinter(List<ReelListMagt> list, string WorkDate, User user) { ReelList ...

随机推荐

  1. dubbo结果缓存机制

    此文已由作者赵计刚授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. dubbo提供了三种结果缓存机制: lru:基于最近最少使用原则删除多余缓存,保持最热的数据被缓存 thre ...

  2. Spring Boot 学习系列(05)—自定义视图解析规则

    此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 自定义视图解析 在默认情况下Spring Boot 的MVC框架使用的视图解析ViewResolver类是C ...

  3. NSNumber数字

    前言 将基本数据类型包装成 OC 对象 1.NSNumber 与 基本数据类型 的相互转换 // 基本数据类型 转 NSNumber // 对象方法,将整形数据转换为 OC 对象 NSNumber * ...

  4. nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx//conf/nginx.conf:117

    SSL相关的配置加到了nginx的配置文件中后,nginx竟然启动不起来了 于是用如下命令测试问题所在: /usr/local/nginx/sbin/nginx -c /usr/local/nginx ...

  5. 关于Unity中的UGUI优化,你可能遇到这些问题

    https://blog.uwa4d.com/archives/QA_UGUI-1.html 关于Unity中的UGUI优化,你可能遇到这些问题 作者:admin / 时间:2016年11月08日 / ...

  6. 10.8 wtx模拟题题解

    填坑 orz w_x_c_q w_x_c_q的模拟赛(150pts,炸了) money 题目背景: 王小呆又陷入自己的梦里.(活在梦里...) 题目描述: 王小呆是一个有梦想的小菜鸡,那就是赚好多好多 ...

  7. HDU6312 Game (多校第二场1004) 简单博弈

    Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  8. 小程序获取unionId以及手机号

    1.前端小程序传入后端接口的入参如下: code :临时登录凭证(必传)encryptedData:密文iv:偏移量 2.接收到入参后的java后端接口中的代码如下: @Action(value = ...

  9. Qt 学习之路 2(7):MainWindow 简介

    Qt 学习之路 2(7):MainWindow 简介  豆子  2012年8月29日  Qt 学习之路 2  29条评论 前面一篇大致介绍了 Qt 各个模块的相关内容,目的是对 Qt 框架有一个高屋建 ...

  10. Unity 动画系统目录 之 Animation

    返回 Unity 动画系统目录 官方文档 Animation:https://docs.unity3d.com/ScriptReference/Animation.html Animator:http ...