於是,我將 Certificate_Test.rdl 複製到 VS2010 的開發資料夾,再把檔名改成 Certificate_Test.rdlc, 並用 VS2010 去開啟它。
看起來,還好嘛,就讓他自己去轉換就好,於是按了「確定」!
看到「One or more errors encountered while loading the designer. The errors are listed below.」錯誤訊息,然後 就 ... 傻住了... 真的傻住了!
透由 Polly 的協助,參考了一篇由 prakash rao 所發表的文章「Microsoft Report Designer : Do you want to convert this report to RDLC 2008 format? Please click OK to proceed or Cancel to open it in the XML editor. 」,一步一步完成了轉換工作。
首先,從傻住的頁面開始,點選 「Edit Code」,就可以看到用 XML 所表示的內容。其實,不管是 *.rdl 也好, *.rdlc 也好,報表的內容都是用 XML 來定義的。在報表升級開發工具升級的過程中,難免會新增或刪除了 XML 的標籤或元素。先看到的,就是升級後被刪除的 「ReportSection」與「ReportSections」,可以用 Ctrl+F 打開搜尋視窗,找到那兩個標籤,因為每個標籤同時都會有起始與結束,所以都要刪除。
然後,再到最前面的第二行 Report xmlns
將它改成:
<Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition">
最後就按「存檔」。接著把剛剛編輯的報表都關掉,然後重新點選 Certificate_Tesst.rdlc,就可以看到正常的報表了。
因為我改成使用 Local Report 的方式,原先要傳給 Server Report 的參數已經不需要了,要記得到 Report Data 裡的 Parameters 刪除。
此外,因為我已不再使用 DataSource1,所以也順便刪除,然後在新增一個 DataSet。你可能會發現, DataSource1 竟然刪不掉,別擔心,點開你的 DataSource1,會發現裡面還會有 DataSet,先把裡面的所有 DataSet 都刪掉,然後就可以刪除 DataSource1 了。
參考:
01:Microsoft Report Designer : Do you want to convert this report to RDLC 2008 format? Please click OK to proceed or Cancel to open it in the XML editor.
沒有留言:
張貼留言