【发布时间】:2015-05-05 14:28:40
【问题描述】:
我有一个包含几个部分的水晶报告
- 页眉a(公司信息)
- 页眉b(子报告:有特定国家的列表)
- 页眉 c(子报表:有特定产品列表)
- 页眉d(子报表:有具体项目列表)
报表的数据源由数据集“DS1”通过C#应用程序(推送方法)给出
由于后台逻辑复杂,决定让Dataset“DS1”有4个数据表(tbl0,tbl1,tbl2,tbl3)分别存放 数据集中的正确数据。
数据集没有任何关系,因为我已经在Dataset中的相关数据表中直接加载了最终的数据结果
DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable();
DataTable dt3 = new DataTable();
DataTable dt4 = new DataTable();
Load_CompanyInfo(country_ID, ref dt1);
Load_Countries(_ApprovalID, ref dt2);
Load_Products(_ApprovalID, ref dt3);
Load_Items(_ApprovalID, ref dt4);
_ds_tmp.Tables.Add(dt1);
_ds_tmp.Tables.Add(dt2);
_ds_tmp.Tables.Add(dt3);
_ds_tmp.Tables.Add(dt4);
在 Form ReportView.cs 中,我已将数据集分配给报表。
rep_c_single.SetDataSource(ds.Tables[0]); // Main company info
rep_c_single.Subreports[0].SetDataSource(ds.Tables[1]); // countries
rep_c_single.Subreports[1].SetDataSource(ds.Tables[2]); // products
rep_c_single.Subreports[2].SetDataSource(ds.Tables[3]); // items
rep_c_single.Refresh();
cr_Viewer.ReportSource = rep_c_single;
在报告文件中,子报告没有指向主报告的链接字段。 因为最终数据是在数据表中准备的。 我只想在独立于主报表数据源的子报表中显示数据。
到目前为止,子报告列出了所有国家和所有产品,而不是数据表中存在的内容。
编辑: 需要说明的是:子报表和主报表没有任何关系。我只想将数据推送到相关的子报告
感谢您的帮助
【问题讨论】:
标签: c# winforms visual-studio-2010 crystal-reports report