CSFrameworkV6旗舰版-主从表加载报表


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

C# 全选
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框架网
评论列表

发表评论

评论内容
昵称:
关联文章

CSFrameworkV6旗舰-主从报表
CSFrameworkV6旗舰-单报表
CSFrameworkV6旗舰-主从设计报表模板文件
C/S快速开发框架旗舰V5.1 - 报表模板文件
C/S快速开发框架旗舰V5.1 - 报表模板文件
CSFrameworkV6旗舰-主从预览报表
CSFrameworkV6旗舰-单设计报表模板文件
CSFrameworkV6旗舰源码展示(C#,LINQ+EF)
CSFrameworkV6旗舰 - 送货单报表C#源码参考
CSFrameworkV6旗舰-账套数据库
C/S开发框架支持数据库的FastReport.NET报表模板文件 - 功能升级
FastReport.NET主从报表完整源码
C/S软件开发平台旗舰V6.0 - 报表配置(用户自定义报表
开发业务单据报表主从) - MiniFramework蝇量框架 - Winform框架
CSFrameworkV6.0旗舰开发框架升级更新日志
CSFrameworkV6旗舰-成功案例-纸箱行业ERP系统
CSFrameworkV6.0 试用(Trial Version)开发指南
DevExpress XtraReport 开发指南 - 主从报表设计(C#)
C/S架构软件开发平台 - CSFrameworkV6.0旗舰 - Demo视频下载,试用下载
CSFrameworkV5旗舰ClientFoundation基础架构增加报表模块及其他功能