加载报表模板文件

C/S快速开发框架-旗舰版V5.1-加载报表模板文件

1.1加载报表

 

主/从报表需要定义一个组Group对象及两个DataBand对象,分别给两个DataBand绑定数据源并建立主外键关系。

 

private void button4_Click(object sender, EventArgs e)

        {

            //打印主从表数据

            string file = Application.StartupPath + @"\MasterDetail.frx";

            rptMasterDetail.Load(file);//加载报表模板文件

            DataSet ds = DAL.GetMasterDetailData();//取报表数据

            rptMasterDetail.RegisterData(ds.Tables[0], "tb_SO");  //注册数据源,主表

            rptMasterDetail.RegisterData(ds.Tables[1], "tb_SOs"); //注册数据源,从表

            //

            //直接注册DataSet也行,但必须对DataSet.Tables指定表名!

            //FastReport是跟据表名取DataTable对象的。

            //

            //rptMasterDetail.RegisterData(ds);

            //

            //给DataBand(主表数据)绑定数据源

            DataBand masterBand = rptMasterDetail.FindObject("Data1") as DataBand;

            masterBand.DataSource = rptMasterDetail.GetDataSource("tb_SO"); //主表

            //给DataBand(明细数据)绑定数据源

            DataBand detailBand = rptMasterDetail.FindObject("Data2") as DataBand;

            detailBand.DataSource = rptMasterDetail.GetDataSource("tb_SOs"); //明细表        

            //重要!!给明细表设置主外键关系!

            detailBand.Relation = new Relation();

            detailBand.Relation.ParentColumns = new string[] { "SONO" };

            detailBand.Relation.ParentDataSource = rptMasterDetail.GetDataSource("tb_SO"); //主表

            detailBand.Relation.ChildColumns = new string[] { "SONO" };

            detailBand.Relation.ChildDataSource = rptMasterDetail.GetDataSource("tb_SOs"); //明细表

            //准备工作,显示报表预览窗体

            rptMasterDetail.Prepare();

            rptMasterDetail.ShowPrepared(true, this);

        }

 

设计思路:

1) 加载报表模板文件, 调用Report.Load方法。

2) 通过DAL层获取报表数据,返回DataSet类型,包含两张数据表(主表tb_SO, 明细表tb_SOs)。

3) 注册数据源,调用Report.RegisterData方法。

4) 给DataBand对象绑定数据源,Data1绑定主表,Data2绑定明细表。

5) 给明细表DataBand设置主外键关系。

6) 准备报表数据,显示预览窗体。

 

C/S结构快速开发框架/软件快速开发平台   CSFrameworkV5.1旗舰版  原创软件@csframework.com

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
下一篇:预览报表
发表评论

评论内容
昵称:
关联文章

报表模板文件
报表模板文件
C/S开发框架支持数据库的FastReport.NET报表模板文件 - 功能升级
DevExpress XtraReport - 动态报表布局模板
设计报表模板文件
设计报表模板文件
C# 不占用文件句柄方式图片文件(到内存流MemoryStream)
WebApi 未能文件或程序集“System.Web.Http.WebHost,System.Web.Cors"
未能文件或程序集“CSFrameworkV5.Common”或它的某一个依赖项。试图格式不正确的程序。
CS开发框架动态模块技术
有否支持客户自己用execl做模板实现打印报表的功能?
重装VS2015:未能文件或程序集“Microsoft.Build, Version=14.0.0.0"
CS开发框架 新增加两个报表模块(报表模板)
DbProviderFactories Oracle.DataAccess.Client 失败
运行WebApi服务:未能文件或程序集“System.Web.Cors”或它的某一个依赖项
未能文件或程序集“xxxx.Web.UI”或它的某一个依赖项。系统找不到指定的文件
系统详细设计说明书模板文件
SEORank关键词查询模板文件下载
修改了皮肤一个Bug,请下载并更新SkinTools.cs文件
DevExpress窗体皮肤失败解决方法