具有自定义IEnumerable<>的本地RDLC报告文件

时间:2011-03-15 16:14:18

标签: asp.net reporting-services reporting rdlc

我正在尝试在我的网络应用程序中创建本地模式(rdlc)报告。

我的报告的来源是一个类型为Customer的IEnumerable,每个都有一个嵌套的IEnumerable CustomerOrders作为属性。

我很困惑如何创建一个可以显示所有客户的RDLC报告,并且每个客户都会显示所有订单。

This post讨论如何使用与IEnumerable格式匹配的格式创建数据集,然后在运行时将其替换为您要使用的实际数据,但我不知道如何定义与这个IEnumerable相匹配的数据集,除此之外,当我有一个完美的类型时,我需要为报告定义一个数据集,这似乎有点笨拙..

这在RDLC文件中是否可行?

谢谢!

2 个答案:

答案 0 :(得分:0)

事实证明,我可以通过以下步骤来实现这一目标:

1)在服务类中,我公开了一个返回IEnumerable

的虚方法

2)当我使用向导创建新的本地RDLC时,我可以选择此方法作为报告的来源。我不必使用该方法,但它允许报告读取我的类型,并从我的枚举中提供我的报告中使用的属性。

3)在运行报告时,我可以在后面的代码中指定我想用于报告的实际数据:

this.ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ReportDataSource", dataForReport));

希望这有助于某人!

答案 1 :(得分:-1)

这是一个非常好的例子,可以做类似于你想做的事情:

http://www.gotreportviewer.com/masterdetail/index.html

这还包括代码示例下载。基本上你会希望将一个表嵌入到列表中。