2010-01-08 127 views
0

報告觀看者SQL報告服務在VS 2008報告控制 如果我創建在VS 2008中他們有一個.rdlc擴展和正常工作的新報告。報告觀衆報告服務在VS 2008報告控制

我有,我用在SQL Reporting Services一些報道。擴展名爲.rdl,並希望讓它們與VS 2008一起工作。

我將rdl文件和.rdl.data文件複製到VS 2008(SP1)項目中,但是當我去選擇控件中的報表時它沒有看到文件(我假設它是尋找一個.rdlc文件)

我試圖重新命名爲.rdlc文件並加載的文件了,並獲得

報表定義具有無效 目標命名空間 'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition' 無法升級。

我看到這個 http://social.msdn.microsoft.com/Forums/en-SG/vsreportcontrols/thread/65cefd7d-00d8-4be6-a53a-7e34dfd7eb2b

我在這裏看到 http://www.gotreportviewer.com/ 它說 「RDL文件與ReportViewer控件運行時完全兼容。但是,RDL文件不包含一些信息,在設計時的ReportViewer控件依賴於自動生成數據綁定代碼。通過手動綁定數據,RDL文件可以在ReportViewer控件中使用。「

但鏈接如何手動綁定數據被破壞。

如何手動重新綁定數據的任何想法?或者更好的方式讓這些報告與2008年的控制一起工作?

回答

1

SSRS 2008中的服務器版本* .rdl很不幸而不是與其本地副本* .rdlc文件兼容。

基本上,所有你能做的就是

  • 要麼使用的.rdl直接在服務器上(使用你的ReportViewer控制「遠程呈現」報告)

  • 基本上重新創建整報告從頭本地報表

這是令人難以置信 - 但不幸的是,這是事實.....我們希望與.NET 4,Visual Studio 2010中這將是賭注之三。

+0

於是在2010年,報告控制可使用的.rdl或.rdlc? 我想我需要得到的測試版,並試試這個。 – Maestro1024 2010-01-08 19:34:14

+0

我不知道 - 但你總是可以期待最好的! :-) – 2010-01-08 21:24:27

1

如果你不需要先進的功能,如向下鑽取,並且不能使用VS2010,你可以做到這一點的黑客(我做的):

  • 從VS2010安裝新reportviewer.exe(β2或以後我猜);
  • 將版本10.0的ReportViewer的Common/WebForms程序集添加到引用;
  • 手工解析RDL XML結構來獲得數據源和/或查詢SQL(很容易);
  • 使用它來填充LocalReport。數據源;
  • 做LocalReport.Render(「PDF」)來獲得PDF輸出(用於生成PDF響應的ActionResult代碼很容易找到);
  • 在頁面和iframe上放置一個「查看」按鈕;
  • 「View」按鈕(通過JavaScript)將iframe src屬性分配給返回上述PDF內容的url - 並且它將在iframe中給出一個很好的PDF預覽報告;
  • 或者,可以使用jQuery Media插件呈現具有相同結果的PDF對象標記;
  • 此外,我解析RDL的XML參數,並在頁面上顯示它們,並將它們傳遞給「生成報告」URL - 我爲自己的參數獲得了自己漂亮的UI控件,
  • 此外,我有我自己的「導出」按鈕,調用LocalReport.Render(格式),並提供正確的MIME類型(這是Excel,Word,PDF和我的手冊CSV)的輸出 - 出口是在新版本的報告查看器。

上面的列表可能看起來很可怕,但是我只用了2天就可以破解ASP.NET MVC中的完整解決方案,並且它只有300行代碼,包括我自己的CSV代。

將數據綁定的代碼非常簡單,一旦你得到數據表/數據集(從XML查詢):

 var reportDataSource = new ReportDataSource(); 
     reportDataSource.Name = name; 
     reportDataSource.Value = ds.Tables[0]; 
     localreport.DataSources.Add(reportDataSource); 
+0

哇,看起來像你一直在黑暗的道路,即MS報告服務。 我最終只重做了VS 2008中的報告,但我非常有興趣嘗試您在這裏討論的內容。 – Maestro1024 2010-02-11 19:13:12

+0

是的,我寫了一些關於SSRS和其他報告引擎如何吸引的文章。但之後我決定使用它 - 因爲我喜歡設計師,並且渲染引擎(LocalReport)的一個合理部分是免費的。另外,無論如何,報表查看器在MVC中毫無用處,而且它生成的HTML非常糟糕。預覽PDF更好。當然,這意味着完整的報告生成(無分頁)等,但總是存在折衷;在很多情況下它仍然是一個很好的解決方案。沒有人否認購買完整的報告服務並等待VS2010(RC現在不在);但有免費的替代品是很好的。 – queen3 2010-02-11 21:00:38