天天看點

"RDLC"報表-參數傳遞及主從報表

今天繼續學習RDLC報表的“參數傳遞”及“主從報表”

一、先建立DataSet,如下圖:

"RDLC"報表-參數傳遞及主從報表

二、建立一個報表rptDEPT.rdlc,顯示部門T_DPET的資料

"RDLC"報表-參數傳遞及主從報表

三、嵌入Default.aspx中,寫在Default.aspx.cs中寫些基本代碼

 運作效果:

"RDLC"報表-參數傳遞及主從報表

OK,下面才是真正開始:

很多情況下(比如團隊開發),報表的資料源DataTable通常是由其它人寫好的,有些甚至不允許再做修改,報表開發人員隻能被動的接收資料,但是報表上未必需要顯示全部資料,以上面的報表為例,如果我們隻需要顯示"02技術部“的資料,如何處理?

這時報表參數就派上用場了:

四、添加報表參數

在Report Data面闆中,選中Parameters,右擊-->Add Parameter

"RDLC"報表-參數傳遞及主從報表

為參數取名為DeptNo,并做一些設定,如下圖

"RDLC"報表-參數傳遞及主從報表

五、為報表的Table添加Filters條件

上一步添加的參數需要與報表上的Table建立聯系,否則發揮不了作用。幸好每個Table都可以設定Filters表達式,來對資料進行篩選,見下圖:

"RDLC"報表-參數傳遞及主從報表

六、在cs代碼中動态傳入參數

修改Default.aspx.cs的代碼,在運作時動态添加參數

最終運作結果:

"RDLC"報表-參數傳遞及主從報表

很多報表中,資料的來源往往不止一個DataTable,下面我們模拟一個簡單的主從報表,主報表即為上面的rptDEPT(顯示部門資訊),子報表(也稱從報表)顯示部門下的員工清單(命名為rptEMP.rdlc)

七、建立員工報表rptEMP.rdlc

布局如下:

"RDLC"報表-參數傳遞及主從報表

八、在rptDEPT.rdlc中插入子報表rptEMP.rdlc

子報表控件允許在一個報表中再插入另一個報表,如下圖:

"RDLC"報表-參數傳遞及主從報表

然後在子報表上右擊,調出子報表屬性

"RDLC"報表-參數傳遞及主從報表

設定加載哪個子報表

"RDLC"報表-參數傳遞及主從報表

同時增加一個子報表參數

"RDLC"報表-參數傳遞及主從報表

注:這裡增加一個跟主報表同名的參數DeptNo,同時設定其值為主報表rptDEPT的參數@DeptNo

九、修改Default.aspx.cs代碼

  最終運作效果:

"RDLC"報表-參數傳遞及主從報表

想想發生了什麼?

主報表rptDept與子報表rptEMP設定了相同的參數以及過濾條件,代碼給主報表rptDept傳遞了參數DeptNo後,主報表rptDept又把參數值傳遞給子報表rptEMP,最終二個報表都實作了資料篩選.