我希望能够遍历报告中的所有已定义参数,并构建参数名称和值的显示字符串。然后,我会在报告中显示结果,以便用户知道哪些参数用于该特定执行。唯一的问题是我无法循环访问Parameters集合。似乎在参数集合上没有索引器,也没有实现IEnumerable。有没有人能够做到这一点?我使用的是SSRS 2005,它必须在报告代码中实施(即不需要外部程序集)。谢谢!SSRS 2005 - 循环报告参数
回答
不幸的是,它看起来像没有简单的方法来做到这一点。 有关更多信息,请参阅http://www.jameskovacs.com/blog/DiggingDeepIntoReportingServices.aspx。如果你看看comments of that post,有一些方法可以解决这个问题,但它们不是很优雅。最简单的解决方案将要求您在报告代码中的某处列出报告参数,这显然违反了DRY原则,但如果您想要最简单的解决方案,您可能只需要忍受这一点。
您可能想重新考虑一下无外部装配的约束,因为它在外观上看起来要容易得多。或者,如果您的报告变化不大,则可以手动创建参数名称和值的列表。
如果我理解您的问题,请按照我所做的操作: 在报告中放置文本框,然后在设置报告时插入以下内容: =“Parameter1:”+ Parameters!Parameter。 Label +“,Parameter2:”+ Parameters!Parameter2.Label ...
当然,这不是最漂亮的事情,但它在我们的应用程序中工作得很好。
而我使用标签而不是值,因为我们有日期时间值,而用户只关心短日期或月和年(取决于环境),而且我已经完成了格式化工作设置参数。
我可以想到至少有两种方法可以做到这一点。第一个可能会起作用,第二个肯定会起作用。
使用web服务。我很确定我看到了获取参数集合的API。即使没有直接访问权限,您也可以创建一个标准集合,并在一个foreach循环中将ReportParameter对象从一个对象复制到另一个对象,然后通过取消引用ReportParameter实例访问Count,并提供单独的参数属性。
报告为RDL。 RDL是XML。创建一个XmlDocument并加载RDL文件,然后使用DOM去做直到并包括设置默认值或者甚至重写连接字符串。
如果您的应用程序没有文件系统访问RDL文件,您可以通过Web服务获取它们。
- 1. SSRS报告参数
- 2. SSRS报告参数
- 3. SSRS 2005报告功能
- 4. SSRS报告参数化
- 5. SSRS报告级联参数
- 6. SSRS报告 - 参数查询
- 7. SSRS报告级联参数
- 8. SSRS 2005:在参数报告中返回NULL值
- 9. 在SSRS 2005中报告之间传递参数
- 10. 用于报告和子报告的SSRS循环
- 11. SSRS验证参数和停止报告
- 12. SQL Server报表服务(SSRS)在SSRS 2005年报告2008
- 13. 在VS 2008中编辑SSRS 2005报告
- 14. SSRS 2005每页报告分页
- 15. SSRS 2005矩阵报告 - 编辑合计
- 16. SSRS 2005 - http:// <servername> /报告错误
- 17. SSRS 2005报告 - 2页使用列表
- 18. SSRS 2005报告重复的记录
- 19. SSRS 2005子报告偶尔空
- 20. SSRS 2005重命名报告问题
- 21. 将SSRS 2005报告导出到Excel 2007
- 22. SSRS 2005报告页面方向与子报告
- 23. ssrs呼叫报告在一个循环(子报表?)
- 24. SSRS报告小数
- 25. SSRS报告参数互相依赖
- 26. SSRS 2008R2报告参数不起作用
- 27. drillthrough SSRS报告错误AssignedTo参数
- 28. SSRS中的报告参数值
- 29. 与多个SSRS报告共享参数
- 30. SSRS - 基于参数选择的报告
我没有意识到他在报告中的意思。我将使用反射在Microsoft.ReportingServices.ReportProcessing.ReportObjectModel.Parameters中查看它是否可以转换为更易于访问的内容。 – 2008-09-22 13:20:37