fastreport for .net 数据邦定

摘要:
C#代码:private void button4_Click(object sender,EventArgse){//打印主/从表数据字符串file=Application.StartupPath@“MasterDetail.frx”;rptMasterDetail.Load(file);//加载报告模板文件DataSets=DAL.GetMaster
C# Code:

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. 加载报表模板文件,Load()。
2. 通过DAL层获取报表数据,返回DataSet类型,包含两张数据表(主表tb_SO, 明细表tb_SOs)。
3. RegisterData,注册数据源。(重要)
4. 给DataBand对象绑定数据源,名为Data1绑定主表,Data2绑定明细表。(重要)
5. 给明细表DataBand设置主外键关系。 (重要)
6. 准备报表,显示预览窗体。

免责声明:文章转载自《fastreport for .net 数据邦定》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇iOS:死锁网上看到的比较全的关于C#操作EXCEL常见操作集合,比较全,写的不错下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

VXLAN技术在数据中心的应用

1、VXLAN技术可以通过物理交换机实现,也可以通过服务器实现,这两种实现的后台反应的是CT技术,还是IT技术来主导数据中心虚拟网络的发展。 2、物理交换机实现的VXLAN受限于芯片支持的规则,一般情况下,交换芯片也只支持4K个VXLAN隧道。而服务器支持的VXLAN,则无此限制,无上限的限制。 3、服务器是通过openvswitch流表实现的VXLAN隧...

DEV ComBoxEdit实现模糊检索数据

这几天老大叫我修改一下项目中LookUpEdit控件的下拉选择功能,实现模糊检索数据,经过一番研究,发现LookUpEdit控件只能实现部分模糊检索数据功能,也就是它的检索索引是从第一位开始,也就是模糊检索数据的时候,用户必须从头开始检索,这样给用户不友好,如果只知道其中的某些关键字则实现不了。如下图: 查询了资料后,发现LookUpEdit不支持自由输...

python 读取串口数据常用函数及实例分析

前记: 人生苦短,我用python,python在做一些算法验证和接口验证方面,的确是非常的好用。读取串口经常用到,这里就做个总结,给自己和周围的人做个备忘吧。 函数解析: 初始化串口数据: importserial #Serial takes two parameters: serial device and baudrate ser = serial....

delphi FastReport快速入门

界面及连接关系 frxDBDataset1连接datasource   双击frxReport1控件进入设计界面,选择报表->数据,弹出窗口选择要显示数据的frxdbdataset,frxdbdataset可以有多个   打印按钮事件     //载入报表文件并打印 procedure TForm1.Button2Click(Sender: TOb...

爬虫和数据

一为什么要做爬虫? 首先请问:都说现在是"大数据时代",那数据从何而来? 企业产生的用户数据:百度指数:http://index.baidu.com/阿里指数:https://alizs.taobao.com/TBI腾讯浏览指数:http://tbi.tencent.com/新浪微博指数:http://data.weibo.com/index 数...

Kaggle大数据竞赛平台入门

Kaggle大数据竞赛平台入门 大数据竞赛平台,国内主要是天池大数据竞赛和DataCastle,国外主要就是Kaggle.Kaggle是一个数据挖掘的竞赛平台,网站为:https://www.kaggle.com/.很多的机构,企业将问题,描述,期望发布在Kaggle上,以竞赛的方式向广大的数据科学家征集解决方案,体现了集体智慧这一思想.每个人在网站上注册...