使用数据集的 Crystal Reports 子报表

发布于 2024-07-13 05:43:26 字数 312 浏览 13 评论 0原文

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

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

I use Crystal Reports XI with C# Visual Studio 2005.
I am trying to create a subreport from a summary dataset.
A simple example would be Company listing with Employees.
I load the Company dataset (with CompanyId).
I want to create a subreport which is linked by CompanyId whereby the dataset is loaded (obviously) on demand. I can create this subreport if I load all the detail into one monster dataset, but in my real-world implementation this would involve loading millions of detail rows (not an option).

Is there a way I can capture the SubReport event and load the dataset from my database connection? I basically want to intercept the subreport link call to build the dataset myself.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

×纯※雪 2024-07-20 05:43:26

这完全是可能的。 在您拥有的 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;

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

问候
夏姆

This is simply possible. Create 2 data tables in the xsd dataset you have. Get values for these 2 datatables based on a common ID/key value. Copy one dataset table to the other like

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

then,

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

when ur adding subreport, get the second table as the datasource and its values.
add those fields to your subreport, its done !

Regards
Shyam

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文