现在的位置: 首页 > 综合 > 正文

RDLC 報表學習筆記

2012年11月29日 ⁄ 综合 ⁄ 共 1053字 ⁄ 字号 评论关闭

    用VS2008已有些時間了,但一直沒有用他內置的報表。最近由于公司要開始做報表以及打印,所以想研究一下RDLC和RDL。在以前在一直使用水晶報表來做,所以想著這是微軟的東西做起來應該沒啥太大問題。不過真的做起來,有是兩回事了。
    在動手之前,看了蠟人張的幾篇隨筆,還算是有了些基礎。一般的顯示和表格都沒什么問題了,但是有一個問題卻不知如何解決。舉個例子吧:現有一批報銷單需要打印,報銷單上有單個的信息,如部門、姓名等,也有一個報銷明細,以表格形式展現。當我從服務器端讀取了這一批數據后,如何通過關鍵字在表格上篩選出當前這張報銷單的明細?
    我為了能夠顯示出所有的報銷單的單個信息,拖了個列表,把記錄這些信息的DataTable上的列拖到列表上。然后有拖了個表格,想來顯示報銷的明細,但是發現這時候我把報銷明細的DataTable上的列拖上表格后他會自動加了個函數SUM或者First,手動去掉這些函數后編譯報錯:报表项表达式只能引用当前数据集作用域内的字段或指定数据集作用域内的字段(如果该表达式包含在聚合函数中在而后的研究才發現,在只有列表的屬性DataSetName指定的DataTable里的字段,才能顯示,否則必須要加上聚合函數
    看來這個方法行不通了,要想其他的方法了,是不是用子報表?試試看吧。

PS:這里也引用了別人整理好的關于RDLC一些控件的解釋

■“文本框”用於顯示單個實例資料。文本框可以放在報表上的任何位置,可以包含標籤、欄位或計算資料。您可以使用運算式來定義文字方塊中的資料。
■“表”是用於創建表格格式報表或向報表添加表結構的資料區域。
■“矩陣”是將資料排列成在特定資料點相交的列和行的資料區域。矩陣的功能與交叉表和透視表類似。與包括一組靜態列的表不同的是,矩陣的列可以是動態的。可以定義包含靜態列、靜態行、動態列和動態行的矩陣。
■“圖像”用於在報表中顯示二進位圖像資料。可以使用 .bmp、.jpeg、.gif 和 .png 格式的外部圖像、嵌入圖像或資料庫圖像。
■“子報表”用於將一個報表嵌入到另一個報表。子報表可以是獨立運行的完整報表,也可以是嵌入到主報表中才表現最佳的報表。定義子報表時,還可以定義用於篩選子報表資料的參數。
■“清單”是用於顯示單個欄位的重複行資料或包含其他報表項的資料區域。
■“矩形”用作圖形元素或作為其他報表項的容器。如果在矩形內放入報表項,則可以隨矩形一起移動這些報表項。
■“線條”是可放在頁面上任何位置的圖形元素。線條沒有與其關聯的資料。

【上篇】
【下篇】

抱歉!评论已关闭.