繁体   English   中英

水晶报表未链接的子报表

[英]Crystal report unlinked Subreport

我有一份包含几个部分的报告

  • 页眉a(公司信息)
  • 页眉b(子报告:具有特定国家/地区的列表)
  • 页面页眉c(子报表:具有特定产品的列表)
  • 页面标题d(子报告:具有特定项目的列表)

报告的数据源通过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;

在报告文件上,子报告没有指向主报告的链接字段。 因为最终数据是在数据表中准备的。 我只想独立于主报表数据源在子报表中显示数据。

到目前为止,子报表列出的是所有国家/地区和所有产品,而不是数据表中的内容。

编辑: 值得一提的是:子报表和主报表没有任何关系。 我只想将数据推送到相关的子报表

谢谢你的帮助

我不完全确定..但是我已经做了一次。

  1. 确保您的报告具有基于主报告的主键的组(要与之链接所有子报告)

  2. 右键单击子报告

  3. 更改子报告链接

  4. 在可用字段中,选择子报表或相应数据表的列名

  5. 单击添加以将其添加到字段中以进行链接,它还将显示在子报告参数中,以使用下面的下拉列表

  6. 检查标志-根据字段在子报告中选择数据

  7. 选择您在第一步中创建的主报告主键组

希望它能工作.. :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM