2009年11月8日 星期日

.NET Client-Side Report Table (資料表)

Table(資料表)算是比較常使用的元件,適合用來呈現資料的烈表式的明細資料,屬於一維的呈現。在RDLC的設計畫面中,加入新資料表後,畫面如下


由上圖可看出,資料表結構分為【頁首】、【詳細資料】、【頁尾】
  • 頁首 :資料的表頭部份(描述性欄位),主要用途有

    • 針對資料表頭設定是否每頁需要重複,以免在換頁的時候無法得知該資料列的表頭為何
    • 可放統計性資料,例如存放該欄位的總和(Sum)或總筆數 (Count)

  • 詳細資料:詳細資料(繫結式欄位)中的資料欄位會逐筆的顯示,亦即所謂我們所需要看到的資料
  • 頁尾:與頁首相同(描述性欄位),主要用途亦相同
  • 補充:資料表中的所有欄位都是由文字方塊(TextBox)所組成,所以擁有文字方塊的所有屬性
接下來我們使用之前所建立的Strongly Typed DataTable示範ㄧ個範例,底下是我們所設計好的資料表結果

頁首的地方,我們在第一欄的地方輸入:(頁首) Last Name
詳細資料部份,輸入: =Fields!LastName.Value (請使用設計模式,將資料欄拖曳至此即可)
頁尾部分:第一欄輸入:總共筆數,第二欄輸入: =Count(Fields!LastName.Value)
輸入完畢之後,請點選儲存檔案,此時新增一個aspx的頁面,請參考.NET Client-Side Report 方式設定資料連結及報表,最後我們觀看此次的設計結果如下

由上圖可得知,頁首部分,會出現於整個資料表的第一筆部分,扮演描述性角色,詳細資料所擺放的是資料欄位LastName,故會將資料集之所有的資料逐筆列於其中,最後是頁尾的部份,請注意數字9,此為使用統計性之函式Count所運算完之結果。

結論:
ㄧ般來說我們用資料表來呈現事最常看到的報表格式,亦可以說只要是想呈現所謂的Gird式Data都可以考慮使用此元件。其實資料表元件中還有許多功能,例如:Group (群組)、Sort (排序)、Filter (篩選)等功能,這些功能有些可以在經由資料匯入之前就先使用SQL或程式語言提供的功能完成,如排序或篩選等,因為把運算的Loading放在DB Server或Web Server上,可以增快顯示的速度,而群組則主要用於將資料使用群組式的排版方式輸出,這些功能的相關細節之後有機會再來介紹。

沒有留言: