我一直在通過報表服務器遠程運行報表的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