【问题标题】:Crystal report unlinked Subreport水晶报表未链接子报表
【发布时间】: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


    【解决方案1】:

    我不完全确定..但我做过一次..

    1. 确保您的报告有一个基于主报告的主键的组(您希望与该组链接所有子报告)

    2. 右击子报表

    3. 更改子报告链接

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

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

    6. 检查标志——根据字段选择子报表中的数据

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

    希望它有效.. :)

    【讨论】:

    • 感谢您的信赖,但主报表数据与子报表没有关联。
    • 它必须有一些共同的字段,您可以在此基础上将两者联系起来..?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 1970-01-01
    • 2013-04-16
    • 1970-01-01
    • 2013-11-08
    • 2013-03-09
    • 1970-01-01
    相关资源
    最近更新 更多