三.代码设计-DevExpress主从表-C/S快速开发框架-标准版V2.3


Winform开发框架-CSFrameworkV2.3标准版-开发框架文库

3.1 预览报表

 private void button3_Click(object sender, EventArgs e)
        {
            XtraReport_MasterDetail mMyReport = new XtraReport_MasterDetail(); //报表实例

            DataSet data = DAL.GetMasterDetailData();//取销售订单主从表数据
            mMyReport.SetReportDataSource(data);//绑定报表的数据源

            //打开报表预览窗体
            frmReportPreview.DoPreviewReport(mMyReport, this);
        }

具体步骤:

  1. 创建报表实例。
  2. 通过DAL层获取报表数据,返回DataSet类型,包含两张数据表,分别为tb_SO, tb_SOs。
  3. 调用自定义方法SetReportDataSource,绑定数据源。(重要)
  4. 打开预览窗体显示报表。

3.2 给主从表报表配置数据源 (重要)

/// <summary>
        /// 设置主从表的数据源
        /// </summary>
        /// <param name="reportData"></param>
        public void SetReportDataSource(DataSet reportData)
        {
            //因涉及到修改DataSet的内部属性,建议创建副本进行操作。
            DataSet ds = reportData.Copy();//创建副本

            //重要!!!给组(GroupHeader)绑定主键字段
            //本报表是按业务单号分组
            GroupField gf = new GroupField("SONO", XRColumnSortOrder.Ascending);
            GroupHeader1.GroupFields.Add(gf);

            //给数据集建立主外键关系
            DataColumn parentColumn = ds.Tables["tb_SO"].Columns["SONO"];
            DataColumn childColumn = ds.Tables["tb_SOs"].Columns["SONO"];
            DataRelation R1 = new DataRelation("R1", parentColumn, childColumn);
            ds.Relations.Add(R1);

            //绑定主表的数据源
            this.DataMember = "tb_SO";
            this.DataSource = ds;

            //绑定明细表的数据源
            this.DetailReport.DataMember = "R1";
            this.DetailReport.DataSource = ds;

//自动绑定明细表XRLabel的数据源
            this.BindingFields(ds, this.Detail1.Controls);

            xrLabel15.DataBindings.Add("Text", ds, "R1.Amount");//绑定小计(当前单据的总金额)
            xrLabel23.DataBindings.Add("Text", ds, "R1.Amount");//绑定总计(所有单据的总金额)
        }

 

3.3 设置主从表数据源SetReportDataSource方法

  1. 报表是按业务单号分组,给组(GroupHeader)绑定业务主键字段。
  2. 给数据集建立主外键关系,XtraReport是跟据DataRelation指定的主外键关系自动过滤明细表数据的。
  3. 绑定主表数据源。
  4. 绑定从表数据源,注意:明细表的数据是跟据DataRelation自动过滤,所以DataMember必须指定为DataRelation的名称。
  5. 自动绑定明细表XRLabel的数据源,这里必须通过DataBinding绑定数据源!
  6. 绑定小计及总计的数据源。

总结:

主/从表报表比较复杂,特别是XtraReport必须给数据集建立主外键关系(DataRelation),但通过本文的详细介绍我相信您完全可以开发一份简单的主从报表了。

底图-软件开发框架-csframework-开发框架文库

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:二.报表设计 (Report Designer)-DevExpress主从表-C/S快速开发框架-标准版V2.3
下一篇:一.报表设计 (Report Designer)-FastReport报表设计-C/S快速开发框架-标准版V2.3
评论列表

发表评论

评论内容
昵称:
关联文章

代码设计-DevExpress主从-C/S快速开发框架-标准V2.3
代码设计-DevExpress-C/S快速开发框架-标准V2.3
二.报表设计 (Report Designer)-DevExpress主从-C/S快速开发框架-标准V2.3
C/S系统快速开发框架 - 标准V2.3
二.代码设计 - FastReport报表开发 - C/S快速开发框架-标准V2.3
二.报表设计 (Report Designer)-DevExpress-C/S快速开发框架-标准V2.3
C# C/S结构快速开发框架标准V2.2 - 视频介绍
快速开发框架标准V2.3-钢铁贸易进销存(ERP系统)
《CS框架V2.2-3.0业务单据窗体_主从_快速开发指南》
一.新增一份XtraReport报表-DevExpress主从-C/S快速开发框架-标准V2.3
一.报表设计 (Report Designer)-FastReport报表设计-C/S快速开发框架-标准V2.3
四.数据字典窗体开发步骤-基础资料窗体-C/S快速开发框架-标准V2.3
四.业务单据窗体开发步骤-业务单据窗体-C/S快速开发框架-标准V2.3
一.新增一份XtraReport报表-DevExpress-C/S快速开发框架-标准V2.3
.业务单据窗体逻辑关系图-业务单据窗体-C/S快速开发框架-标准V2.3
DevExpress XtraReport 开发指南 - 主从报表设计(C#)
进销存快速开发框架(Winform层架构+DevExpress+SQL2008R2)
C# Winform 层架构代码生成器 V5.1正式发布
基于.Net C/S结构系统开发框架 - 标准V2.2正式发布!
.NET软件开发平台标准V2.3 - 支持多语言(中文繁体、简体、英文、越南文)