我一直在通过报表服务器远程运行报表的WebForms应用程序中试用ReportViewer控件。感觉就像ReportViewer中的参数界面是有限的。我认为另一种选择是创建我自己的Web表单控件,它将参数传递给ReportViewer并绕过默认参数界面。我对SSRS的经验非常少,我想知道这是一个可行的解决方案,还是需要麻烦。 (即新的报告可能导致不得不创建新的UI)。我想我的问题是报表查看器中的标准用户界面是否可以接受企业级应用程序。我不是在谈论分页控件,更多的是关于下拉列表和复选框列表。ReportViewer Web控件是否适用于企业Web应用程序
0
A
回答
3
如果您的报告通常使用简单的参数集,则默认界面可以很好地工作(特别是如果您的用户更精明)。但是更大更复杂的参数集可能会在默认界面中迅速变得难以逾越(如果您不希望用户如此精明,这可能会是一个更大的问题)。
我遇到了一大堆报告类似的问题。有些可能非常简单(I.E.,没有参数或简单的日期范围),有些可能会过于复杂(25+参数)。
我们到达的解决方案是编写一个ASP.NET报表菜单应用程序,该应用程序从大多数报表的SSRS中检索参数并将其动态呈现给用户。有些报告对此太复杂了,所以我们进一步写了WebUserControls,进一步简化了用户的参数。这样,大多数报告并不需要额外的干预,对于那些做的,我们有一个轻松创建包装的框架。
下面是如何获得的参数通过SSRS Web服务给定的报告为例:
'ReportingService is a reference to the WebService
Dim rs As New ReportingService
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
Dim Reports() As ReportingService.CatalogItem
Reports = rs.ListChildren(ConfigurationManager.AppSettings("ReportPath"), True)
For Each item As ReportingService.CatalogItem In Reports
Dim historyID As String = Nothing
Dim forRendering As Boolean = True
Dim values As ReportingService.ParameterValue() = Nothing
Dim credentials As ReportingService.DataSourceCredentials() = Nothing
Dim params As ReportingService.ReportParameter() = Nothing
If item.Type = ReportingService.ItemTypeEnum.Report And item.ID = ReportID Then
params = rs.GetReportParameters(item.Path, historyID, forRendering, values, credentials)
Dim i As Integer = 0
For Each param As ReportingService.ReportParameter In params
'Display the parameter or add to a collection or whatever
Next
End If
Next
您可以用上面的方法来获取所有的参数,然后显示出来,您看合适。然后,您所要做的就是收集结果,验证它们,并将它们传递给ReportViewer。
相关问题
- 1. Morfik - 适用于中等规模的Web企业应用程序
- 2. 企业应用程序或Web应用程序的Web服务
- 3. 适用于非企业级客户的企业应用程序?
- 4. 将Web应用程序迁移到企业应用程序
- 5. 比较用于企业应用程序的Web GUI框架
- 6. Node.js是否适用于Windows企业级?
- 7. Spring集成是否适合企业应用程序集成?
- 8. 适用于商业Web应用程序的CSS /其他模板
- 9. 适用于Web应用程序的Bottle.py
- 10. 从ASP.NET Web应用程序中的ReportViewer控件打印问题
- 11. Python/Django适用于企业大型基于Web的系统吗?
- 12. 使用JSF的企业Web应用程序的结构
- 13. 使用Selenium测试企业Web应用程序
- 14. iPad适用于企业应用程序的实用性如何?
- 15. 用于商业Web应用程序的XMPP Web客户端
- 16. Java Web应用程序和Java企业应用程序有什么区别?
- 17. Java Web应用程序和Java企业应用程序有什么区别
- 18. 适用于企业应用程序的Java项目结构
- 19. 适用于Android的Java企业应用程序
- 20. 实体框架 - 适用于企业级应用程序吗?
- 21. 适用于企业应用程序的AngularJs
- 22. 仅适用于HTML 5面向企业的应用程序
- 23. 适用于Wp7企业应用程序的MVVM
- 24. 的Java Web的企业应用“客户”
- 25. angularjs很适合大型数据中心企业web应用程序
- 26. 企业库在Web应用程序中抛出异常
- 27. 为企业Java和C++创建Web服务应用程序?
- 28. 企业Web应用程序架构问题
- 29. 企业Java Web应用程序的最佳方法
- 30. 春季企业Web应用程序的体系结构
谢谢,这是非常有益的。我想关于默认用户界面的好处是,它可以处理参数级联的常见场景。 – 2011-05-13 12:12:20
@ek_ny在编写新的UI时,您肯定需要考虑这一点。但是,这样做可以进一步实现可定制性(当然,以实现新功能花费的时间为代价)。我觉得缺乏默认UI的重要事情是验证工具。 – 2011-05-13 13:35:28