2012/07/22

20120722-程式-報表Report的資料源為XML


(最後的資料呈現圖)

資料結果雖然有出來,但還是有以下的問題點:

1. 在 Project 下新增 rdlc,它無法於Design 頁面下加 DataSource
    (若另建立 Report Project ,則可以建立 DataSource ;)
    不明白一般Project VS Report Project 之間的差異。

2.若可以建立 DataSource,但也不知如何建立與XML相關的DataSet。

3. 無法利用 Design頁面,去加入XML 資料源(Add DataSet)!(最主要疑惑!!)
    (目前是用 文字檔去編輯 rdlc 檔)

================================================================
以下步驟,是模仿別人寫好的Report檔,修改對應之資料位置。
主要是用文字檔加入 DataSource / DataSet ;

【報表設計部份】
1. 在專案下加入 Report1.rdlc


2. 最後欲建立的 DataSet (這一部份無法由Design介面去操作)


3. 用文字檔開啟 rdlc ,加入它的 DataSource 及 DataSet:

Rdlc 的架構:
<Report >
  <DataSources>
    <DataSource Name="UserModel">
      ......//定義DataSource區塊
    </DataSource>
  </DataSources>
  <DataSets>
    <DataSet Name="UserModel">
      ......//定義DataSet
    </DataSet>
  </DataSets>
  <Body>
      ......//Report的Body內容
 </Body>
 <ReportParameters>
    <ReportParameter Name="FileName">
      ......//描述它的Parameters
    </ReportParameter>
 </ReportParameters>
......
</Report>

4. DataSource的設定部份:

a. 主要設定它的ConnectString 【關鍵】
    將它指向一個網站目錄(ReportXmlDataSource)下,所產生的XML File;(由 Parameter的FileName來當它的Unique Key)

5. 設定它 DataSet 的部份: (這段用HardCode描述Column實在是很麻煩)

【注意!】它的 CommandText:是描述取XML時要怎麼取,
ArrayOfUserModel:是我程式在Serilizer XML產生的Xml 集合。
UserModel:是XML單筆資料的Tag。
(真不知要如何用Tool 來定義這此東西)

6. ReportParameters的部份:

PS:由介面新增的Parameter ,它的Prompt 不會等同於它的Name String 。

這樣就描述好它的rdlc檔。
=========================================================
【上傳報表部份】

進入它的[屬性]內容查看

PS:其中的 "連接字串", "基於運算式",就是rdl 檔所描述的東西 (不知如何由介面設定)


=========================================================
【ReportXmlDataSource網站建立】




=========================================================
【程式碼 ReportViewer 部份】

1. Serializer XML Data 。
2. 定義 report Parameters 的Value。
3. 定義 ReportViewer 的 URL 及 Parameter。

不用定義 ReportViewer 的DataSource,它是直接定義在rdl 內的 資料來源方式。

程式碼Sample:



這樣一連串的做法,
是為了使它的資料來源為特定網站下的XML資料。


可參考文章:
Reporting Services: Using XML and Web Service Data Sourceshttp://msdn.microsoft.com/zh-tw/library/aa964129(v=sql.90).aspx


Report Viewer 匯出 pdf亂碼問題:
http://learnataw.blogspot.tw/2009/05/reportviewer-pdf.html




(THE END)

0 意見 :

張貼留言