[英]Crystal report unlinked Subreport
我有一份包含几个部分的报告
报告的数据源通过C#应用程序(推送方法)由数据集“ DS1”给出
因为在后台复杂的逻辑,它被确定为具有数据集“DS1”具有4个数据表(tbl0,TBL1,TBL2,TBL3),以在数据集分别保持正确的数据。
数据集没有任何关系,因为我直接将最终数据结果加载到了数据集中的相关数据表中
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;
在报告文件上,子报告没有指向主报告的链接字段。 因为最终数据是在数据表中准备的。 我只想独立于主报表数据源在子报表中显示数据。
到目前为止,子报表列出的是所有国家/地区和所有产品,而不是数据表中的内容。
编辑: 值得一提的是:子报表和主报表没有任何关系。 我只想将数据推送到相关的子报表
谢谢你的帮助
我不完全确定..但是我已经做了一次。
确保您的报告具有基于主报告的主键的组(要与之链接所有子报告)
右键单击子报告
更改子报告链接
在可用字段中,选择子报表或相应数据表的列名
单击添加以将其添加到字段中以进行链接,它还将显示在子报告参数中,以使用下面的下拉列表
检查标志-根据字段在子报告中选择数据
选择您在第一步中创建的主报告主键组
希望它能工作.. :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.