fastreport代码转

2016-07-08

//打印主从表数据
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);

时间: 2024-08-04 18:08:01

fastreport代码转的相关文章

错误和问题解决的成本

问题描写叙述 错误 数据收集 根本原因 版本号   组件:数据修复           在一个实际成本组织中,(平均,先进先出,后进先出) 一个或更 多的下面情况可能发生: 1.导航到物料成本历史表单上的数量信息,与现有量表单的数量不匹配的记录 2. 一些物料前期已计成本的数量与前面的事务处理历史表单的数量不匹配 3. 全部的库存值报表与事务处理值报表不匹配 4. 存货层次成本更新表单的总数量与现有量数量表单不匹配(只在先进先出/后进先出) 5.这些症状的不论什么一个意味着 MMT-CQL不匹配

使用fastreport以代码方式创建报表

Report report = new Report();// register the "Products" tablereport.RegisterData(dataSet1.Tables["Products"], "Products");// enable it to use in a reportreport.GetDataSource("Products").Enabled = true;// create A4 p

FASTREPORT 整理 (mtm)

DELPHI中用FASTREPORT制作报表  1.加载并存储报表 默认情况下,报表窗体同项目窗体构存储在同一个DFM文件中.多数情况下,无须再操作,因而你就不必采用特殊方法加载报表. 如果你决定在文件中存储报表窗体或者是数据库的 Blob字段(他提供了非常大的弹性,你能够在非编译程序中修改),你必须使用"TfrxReport"提供的加载和存储方法. function LoadFromFile(const FileName: String; ExceptionIfNotFound: B

Fastreport生成WEB报表

开发WEB应用系统通常都会遇到报表打印问题.简单应用可利用IE的页面打印功能,利用HTML标签控制格式来实现.但复杂的业务型应用系统,报表不仅是组成应用的 重要部分,还常常是相当复杂的.现在很多应用系统都要求提供自定义报表的功能——即客户可以自行设计.修改报表. 在C/S结构系统中,报表问题有很多成熟的解决方法.如DELPHI开发工具不仅自带有报表控件,还可以利用第三方控件来实现快速灵活的报表制作和打印,其中有名的控件是FR-Software & A.Tzyganenko 的FastReport

序列化FastReport,重要提示少走弯路 good

原本在开发一个报表插件,因为需要远程传输,因此需要序列化报表,序列化FastReport有两种方式, 1.仅序列化数据,由客户端接受到数据,并呈现报表,这种方式需要在客户端存储报表格式文件xxx.Frf, 2.序列化FastReport的结果集(即,得到数据后可以存成的frp文件),这样frf文件不需要在客户端存在.我倾向于采用这种方式,毕竟客户端越轻越好. 简单打开一个表之后,将fr生成结果存成frp后,发现有64k大,这是不能忍受的,这还仅仅是2xx数据而已,不过这个问题解决也很简单,压缩之

FastReport经验

1.FastReport中如果访问报表中的对象?可以使用FindObject方法.TfrxMemoView(frxReport1.FindObject(’memo1′)).Text:=’FastReport’; 2.FastReport中如何使用上下标?设置frxmemoview.AllowHTMLTags := True;在Text输入如下上标:mm<sup>2</sup>下表:k<sub>6</sub>举一反三,你还可以使用其他HTML标记. 3.Fas

使用功能强大的插件FastReport.Net打印报表实例

我第一次使用FastReport插件做的功能是打印一个十分复杂的excel表格,有几百个字段都需要绑定数据,至少需要4个数据源,而且用到横向.竖向合并单元格. 我不是直接连接数据库,而是使用RegisterData的方式自己注册DataSet对象,所有的表Table都是代码生成,填充到DataSet中,然后注册到控件中. 最开始尝试使用这个插件做一个简单的功能使用的就是下面的例子,不过花了一整天,还请假了4个人都没有搞出来,晚上拿着别人的模板直接修改,然后测试,就通过了. 之前测试,一直都提示未

FastReport快速打印(.net)

我第一次使用FastReport插件做的功能是打印一个十分复杂的excel表格,有几百个字段都需要绑定数据,至少需要4个数据源,而且用到横向.竖向合并单元格. 我不是直接连接数据库,而是使用RegisterData的方式自己注册DataSet对象,所有的表Table都是代码生成,填充到DataSet中,然后注册到控件中. 最开始尝试使用这个插件做一个简单的功能使用的就是下面的例子,不过花了一整天,还请假了4个人都没有搞出来,晚上拿着别人的模板直接修改,然后测试,就通过了. 之前测试,一直都提示未

Delphi FastReport动态加载图片 (转载)

以前用FastReport制作报表,从来没有打印过图片,这段时间做了个打印个人简历的程序,需要打印照片.试着在frreport模板中加载照片没 问题,可是想要动态的装载照片要怎么做呢,我的要求是将个人简历包括照片存放在数据库中,在用户查看简历时,先将简历数据载入,照片放在IMAGE控件 中,如果要打印,点击[打印]按钮即可. 由于每个人的简历照片都不同,所以只能在打印时装入照片.上网找了段代码,是C ++ Builder的: TfrPictureView   *pic;    pic=(TfrP