我正在尝试在我的网络应用程序中创建本地模式(rdlc)报告。
我的报告的来源是一个类型为Customer的IEnumerable,每个都有一个嵌套的IEnumerable CustomerOrders作为属性。
我很困惑如何创建一个可以显示所有客户的RDLC报告,并且每个客户都会显示所有订单。
This post讨论如何使用与IEnumerable格式匹配的格式创建数据集,然后在运行时将其替换为您要使用的实际数据,但我不知道如何定义与这个IEnumerable相匹配的数据集,除此之外,当我有一个完美的类型时,我需要为报告定义一个数据集,这似乎有点笨拙..
这在RDLC文件中是否可行?
谢谢!
答案 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
这还包括代码示例下载。基本上你会希望将一个表嵌入到列表中。