二.代码设计 | FastReport报表开发 | C/S快速开发框架|标准版V2.3|软件手册

主/从报表需要定义一组Group及两个DataBand,然后给DataBand绑定数据源。(重要)
更重要是给明细表设置主外键关系。(重要)
2.1 加载报表及预览报表
代码如下:
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);
}具体步骤:
- 加载报表模板文件,Load()。
- 通过DAL层获取报表数据,返回DataSet类型,包含两张数据表(主表tb_SO, 明细表tb_SOs)。
- RegisterData,注册数据源。(重要)
- 给DataBand对象绑定数据源,名为Data1绑定主表,Data2绑定明细表。(重要)
- 给明细表DataBand设置主外键关系。 (重要)
- 准备报表,显示预览窗体。
总结:
主/从表报表比较复杂,主要是两方面:报表设计和编写源码,但通过本文的详细介绍我相信您完全可以开发一份简单的主从报表了。


参考文档:
一.报表设计 (Report Designer)|FastReport报表设计|C/S快速开发框架|标准版V2.3|软件手册
三.代码设计|DevExpress主从表|C/S快速开发框架|标准版V2.3|软件手册
三.代码设计|DevExpress单表|C/S快速开发框架|标准版V2.3|软件手册
二.报表设计 (Report Designer)|DevExpress主从表|C/S快速开发框架|标准版V2.3|软件手册
一.新增一份XtraReport报表|DevExpress主从表|C/S快速开发框架|标准版V2.3|软件手册
二.报表设计 (Report Designer)|DevExpress单表|C/S快速开发框架|标准版V2.3|软件手册
一.新增一份XtraReport报表|DevExpress单表|C/S快速开发框架|标准版V2.3|软件手册
四.业务单据窗体开发步骤|业务单据窗体|C/S快速开发框架|标准版V2.3|软件手册
三.业务单据窗体逻辑关系图|业务单据窗体|C/S快速开发框架|标准版V2.3|软件手册
二. 业务单据窗体的继承关系|业务单据窗体|C/S快速开发框架|标准版V2.3|软件手册
一.业务单据窗体基类介绍|业务单据窗体|C/S快速开发框架|标准版V2.3|软件手册
《从销售订单学起》|业务单据窗体|C/S快速开发框架|标准版V2.3|软件手册
四.数据字典窗体开发步骤|基础资料窗体|C/S快速开发框架|标准版V2.3|软件手册
三.数据字典窗体实现及逻辑关系图|基础资料窗体|C/S快速开发框架|标准版V2.3|软件手册
二.数据字典窗体继承关系图|基础资料窗体|C/S快速开发框架|标准版V2.3|软件手册
一.数据字典窗体|基础资料窗体|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|软件手册
一.新增一份XtraReport报表|DevExpress主从表|C/S快速开发框架|标准版V2.3|软件手册
二.报表设计 (Report Designer)|DevExpress单表|C/S快速开发框架|标准版V2.3|软件手册
一.新增一份XtraReport报表|DevExpress单表|C/S快速开发框架|标准版V2.3|软件手册
四.业务单据窗体开发步骤|业务单据窗体|C/S快速开发框架|标准版V2.3|软件手册
三.业务单据窗体逻辑关系图|业务单据窗体|C/S快速开发框架|标准版V2.3|软件手册
二. 业务单据窗体的继承关系|业务单据窗体|C/S快速开发框架|标准版V2.3|软件手册
一.业务单据窗体基类介绍|业务单据窗体|C/S快速开发框架|标准版V2.3|软件手册
《从销售订单学起》|业务单据窗体|C/S快速开发框架|标准版V2.3|软件手册
四.数据字典窗体开发步骤|基础资料窗体|C/S快速开发框架|标准版V2.3|软件手册
三.数据字典窗体实现及逻辑关系图|基础资料窗体|C/S快速开发框架|标准版V2.3|软件手册
二.数据字典窗体继承关系图|基础资料窗体|C/S快速开发框架|标准版V2.3|软件手册
一.数据字典窗体|基础资料窗体|C/S快速开发框架|标准版V2.3|软件手册
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
