.Net常用技巧_FastReport打印数据集设置

时间:2014-07-16 23:08:30   收藏:0   阅读:750
private void btnPrint_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);
   

} 

 

 

.Net常用技巧_FastReport打印数据集设置,布布扣,bubuko.com

评论(0)
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!