【问题标题】:Crystal Reports Subreport Using DataSets使用数据集的 Crystal Reports 子报表
【发布时间】:2010-10-06 11:25:48
【问题描述】:

我在 C# Visual Studio 2005 中使用 Crystal Reports XI。 我正在尝试从汇总数据集创建子报表。 一个简单的示例是包含员工的公司列表。 我加载公司数据集(使用 CompanyId)。 我想创建一个由 CompanyId 链接的子报表,从而按需加载(显然)数据集。如果我将所有详细信息加载到一个怪物数据集中,我可以创建此子报表,但在我的实际实现中,这将涉及加载数百万个详细信息行(不是一种选择)。

有没有办法可以捕获 SubReport 事件并从我的数据库连接加载数据集?我基本上是想拦截子报表链接调用来自己构建数据集。

【问题讨论】:

  • 这是一个有趣的问题——你知道它是否可能吗?

标签: c# crystal-reports dataset subreport ondemand


【解决方案1】:

这是完全可能的。在您拥有的 xsd 数据集中创建 2 个数据表。根据通用 ID/键值获取这 2 个数据表的值。复制一个数据集表到另一个像

ds2.Tables.Add(ds1.Tables[0].Copy());  

那么,

rpt.Load(path + @"Report\Report1.rpt");
rpt.SetDataSource(ds2); //datasource is single
crystalReportViewer.ReportSource = FFrpt;

当您添加子报表时,获取第二个表作为数据源及其值。 将这些字段添加到您的子报表中,完成!

问候 夏姆

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多