ActiveReports使用教程:常用工具箱表格控件作用功能概況
ActiveReports 是一款專注于 .NET 和 .NET Core 平臺(tái)的報(bào)表控件。通過拖拽式報(bào)表設(shè)計(jì)器,可以快速地設(shè)計(jì) Excel表格、Word文檔、圖表、數(shù)據(jù)過濾、數(shù)據(jù)鉆取、精準(zhǔn)套打等類型報(bào)表,全面滿足 WinForm、ASP.NET、ASP.NET MVC、WPF 平臺(tái)中各種報(bào)表的開發(fā)需要。同時(shí),通過豐富的 API 可以靈活的實(shí)現(xiàn)報(bào)表創(chuàng)建、加載和運(yùn)行時(shí)的個(gè)性化自定義需求。
概要
表格是用行和列來組織數(shù)據(jù)的元素。設(shè)計(jì)狀態(tài)下,表格默認(rèn)有三行三列,9個(gè)單元格,每個(gè)單元格中填有一個(gè)文本框。根據(jù)需要,可以添加行、列、分組。在RDL報(bào)表中,還可以在單元格中嵌入其他數(shù)據(jù)元素。通過CTRL鍵與鼠標(biāo)點(diǎn)擊組合操作,或者直接用鼠標(biāo)劃過多行或者多列,可選中多個(gè)行列。使用鼠標(biāo)右鍵菜單中的【使行高相同】和【使列寬相同】命令,可使多行同高,或是多列同寬。
綁定數(shù)據(jù)
將一個(gè)表格拖放到報(bào)表設(shè)計(jì)區(qū)域之后,即可將數(shù)據(jù)添加到單元格,以實(shí)現(xiàn)數(shù)據(jù)綁定??梢詮臄?shù)據(jù)集的字段列表中拖放字段到單元格(注意是第二行上的單元格),也可以通過單元格右上角的小圖標(biāo)按鈕選擇一個(gè)數(shù)據(jù)集的字段,還可以將單元格的Value屬性設(shè)置為<表達(dá)式>以顯示自定義的數(shù)據(jù)內(nèi)容(比如:=單價(jià)*金額)。單元格的默認(rèn)控件是文本框,可以從工具箱拖放其他類型的控件到單元格,比如拖放圖形(Image)控件到單元格,用于顯示圖片。
分組
設(shè)計(jì)狀態(tài)下,除了默認(rèn)的三行,可以通過分組添加新的行。添加一個(gè)分組時(shí),會(huì)添加一個(gè)代表【分組頭】的行和一個(gè)代表【分組尾】的行。分組的典型用途是按類別顯示數(shù)據(jù),比如產(chǎn)品清單報(bào)表,默認(rèn)按照產(chǎn)品ID排序、顯示一覽表。設(shè)置產(chǎn)品類別為分組,可先按照產(chǎn)品類別、再按產(chǎn)品ID排序,還可以統(tǒng)計(jì)每個(gè)分組的產(chǎn)品總數(shù),顯示在【分組尾】中。
外觀
有很多方法控制表格數(shù)據(jù)區(qū)域的外觀。可以合并單元格,控制是否可見、文本顏色、背景顏色??梢栽趩卧駜?nèi)使用圖形元素,也可以設(shè)置單元格本身的邊框,甚至可以鎖定表格的行或列頭,使之不隨滾動(dòng)條滾動(dòng)。
屬性對話框
表格屬性對話框可用于設(shè)定表格的屬性。打開屬性對話框的方法是,選中整個(gè)表格,注意不是選中某個(gè)單元格,然后點(diǎn)擊屬性窗格下方的【屬性對話框…】鏈接。
【常規(guī)】
名稱:控件名稱,本報(bào)表范圍內(nèi)要保證唯一。
工具提示:輸入一段文字,用戶查看報(bào)表、鼠標(biāo)進(jìn)入本控件區(qū)域時(shí),將顯示此文本。
數(shù)據(jù)集名稱:選擇一個(gè)與本控件綁定的數(shù)據(jù)集。
區(qū)域內(nèi)頁碼:本控件是否單獨(dú)排頁碼。
在表格之前插入換頁符號(hào):表格另起一頁。
在表格之后插入換頁符號(hào):表格末頁另起一頁再顯示其他元素的內(nèi)容。
在可能的情況下,將表格顯示在同一頁中:如果表格從某頁中間開始,而總高度不超過一頁,就另起一頁。
每頁重復(fù)顯示列頭:內(nèi)容跨頁時(shí)每頁都帶欄目標(biāo)題。
每頁重復(fù)顯示列尾:內(nèi)容跨頁時(shí)每頁都帶表尾中的內(nèi)容,往往是合計(jì)信息。
禁止單獨(dú)顯示列尾:如果顯示到列尾時(shí)恰好要跨頁,至少帶一行數(shù)據(jù)到新頁。
【可見性】
初始化可見性:
可見:報(bào)表運(yùn)行時(shí)表格可見。
隱藏:報(bào)表運(yùn)行時(shí)表格不可見。
表達(dá)式:基于表達(dá)式顯示或隱藏??梢允褂迷谶\(yùn)行時(shí)計(jì)算的表達(dá)式來確定可見性。表達(dá)式計(jì)算結(jié)果為 Boolean 值,值為 True 時(shí)表示隱藏該項(xiàng),值為 False 時(shí)表示顯示該項(xiàng)。
可見性可以通過其他報(bào)表元素進(jìn)行切換:勾選此項(xiàng)會(huì)在已設(shè)置的其他報(bào)表元素上顯示切換圖像。在下拉框中可以鍵入或選擇要在其中顯示切換圖像的報(bào)表文本框的名稱,例如 Textbox1。點(diǎn)擊此元素可以切換當(dāng)前表格的可見性。注意:您選擇的報(bào)表元素必須位于此元素的當(dāng)前作用域或包含作用域中。
【導(dǎo)航】
文檔結(jié)構(gòu)圖標(biāo)簽:輸入文本或表達(dá)式,用作本控件在文檔結(jié)構(gòu)圖(即目錄)中的項(xiàng)目名稱。
書簽ID:輸入文本或表達(dá)式,用作跳轉(zhuǎn)到本控件的書簽的定位ID。在其他控件處設(shè)置【跳轉(zhuǎn)到書簽】為這個(gè)ID,就可以在查看報(bào)表時(shí)點(diǎn)擊其他控件跳轉(zhuǎn)到本控件。
【排序】
可以設(shè)置多個(gè)排序條件,以控制數(shù)據(jù)輸出的次序,每個(gè)條件的升降序可以不同。比如先按年度降序、再按省份升序。
表達(dá)式:可以是單個(gè)字段,也可以是幾個(gè)字段的組合表達(dá)式。
方向:選擇升序或降序。
【分組】
分組可用于將數(shù)據(jù)按照特定的分類進(jìn)行組織和統(tǒng)計(jì),例如在一個(gè)產(chǎn)品清單報(bào)表中,默認(rèn)情況安裝產(chǎn)品ID顯示一覽表,通過設(shè)置分組,可以按照產(chǎn)品類別,將同一類別的產(chǎn)品信息組織在一起顯示。
點(diǎn)擊加號(hào)圖標(biāo)可添加新的分組。分組屬性可在多個(gè)選項(xiàng)卡中設(shè)置。
【分組-常規(guī)】
名稱:輸入一個(gè)分組名稱。
分組:選擇一個(gè)字段,或者編輯一個(gè)表達(dá)式,作為分組的依據(jù)。典型的是類別性質(zhì)的字段,例如產(chǎn)品類別ID、年度、月份、業(yè)務(wù)區(qū)域,等等。
文檔結(jié)構(gòu)圖標(biāo)簽:輸入一個(gè)文本表達(dá)式,作為目錄項(xiàng)的名稱。
上級(jí)分組:指定一個(gè)父級(jí)分組,以實(shí)現(xiàn)多級(jí)分組。
【分組-過濾】
可設(shè)定過濾條件,僅顯示部分分組的數(shù)據(jù)。一個(gè)過濾條件由三部分組成:表達(dá)式、運(yùn)算符、值。
(1)表達(dá)式:過濾條件的檢查對象,一般是某個(gè)字段。
(2)運(yùn)算符:即比較操作符,具體包括:
Equal:相等。即過濾出左邊的表達(dá)式計(jì)算結(jié)果(或某個(gè)字段值)等于某個(gè)指定值(運(yùn)算符右邊的值)的數(shù)據(jù)。
Like:字符串包含。即過濾條件是左邊的表達(dá)式形如右邊的值。右邊的值一般會(huì)包含星號(hào)通配符(*)。
No
tEqual:不等于。
GreaterThan:大于。
GreaterThanOrEqual:不小于,即大于或等于
LessThan:小于。
LessThanOrEqual:不大于,即小于或等于。
TopN:只顯示數(shù)據(jù)集的前幾條數(shù)據(jù),具體幾條,由下面指定的【值】來確定。
BottomN:只顯示數(shù)據(jù)集的后幾條數(shù)據(jù),具體幾條,由下面指定的【值】來確定。
TopPercent:只顯示數(shù)據(jù)集的前百分之幾的部分?jǐn)?shù)據(jù),具體顯示百分之幾,由下面指定的【值】來確定。
BottomPercent:只顯示數(shù)據(jù)集的后百分之幾的部分?jǐn)?shù)據(jù),具體顯示百分之幾,由下面指定的【值】來確定。
In:只顯示表達(dá)式結(jié)果等于幾個(gè)具體值的數(shù)據(jù),具體的值由下面指定的【值】確定。
Between:只顯示表達(dá)式結(jié)果落在兩個(gè)具體值之間的數(shù)據(jù),兩個(gè)具體的值由下面指定的【值】確定。
(3)值
根據(jù)運(yùn)算符的不同,過濾條件中運(yùn)算符右邊的值可能是單個(gè)常數(shù)值,也可能是多個(gè)常數(shù)值(對于Between,In等運(yùn)算符)。
值可能包含通配符,例如運(yùn)算符為Like時(shí),值可能是"陜西省*市"。
對于TopPercent和BottomPercent運(yùn)算符,值應(yīng)該是不帶百分號(hào)的數(shù)字部分,比如想要過濾一半數(shù)據(jù)的話,值應(yīng)該是50,而不是50%或者0.5。
【分組-排序】
可以設(shè)置多個(gè)排序條件,以控制數(shù)據(jù)輸出的次序,每個(gè)條件的升降序可以不同。比如先按年度降序、再按省份升序。
表達(dá)式:可以是單個(gè)字段,也可以是幾個(gè)字段的組合表達(dá)式。
方向:選擇升序或降序。
【分組-可見性】
此處可設(shè)置當(dāng)前分組是否隱藏。
可見:總是顯示,即不隱藏。
隱藏:即總是不顯示。
表達(dá)式:根據(jù)表達(dá)式的計(jì)算結(jié)果決定是否隱藏。表達(dá)式應(yīng)返回True/False。注意:True表示隱藏,F(xiàn)alse表示要顯示。
可見性可以通過其他報(bào)表元素進(jìn)行切換:選擇當(dāng)前報(bào)表內(nèi)的另一個(gè)元素,通常是一個(gè)文本框,比如TextBox1。用戶查看報(bào)表時(shí),文本框左邊將顯示一個(gè)用加號(hào)和減號(hào)表示的折疊和展開圖標(biāo)。用戶點(diǎn)擊該圖標(biāo),當(dāng)前元素將在顯示與隱藏之間來回切換。典型的應(yīng)用場景是:文本框中的內(nèi)容設(shè)置為"顯示或隱藏明細(xì)列表",然后通過這個(gè)文本框左邊的加減號(hào)點(diǎn)擊,控制一個(gè)表格或列表是否顯示。
【分組-數(shù)據(jù)輸出】
此處設(shè)置報(bào)表數(shù)據(jù)導(dǎo)出為XML時(shí)的元素Tag。
元素名稱:輸入一個(gè)XML元素名稱,這個(gè)名稱將用作報(bào)表數(shù)據(jù)輸出為XML文件時(shí)的Tag。例如"ProductType"。
集合:輸入一個(gè)XML集合名稱,這個(gè)名稱將用作XML數(shù)據(jù)輸出的元素名稱Tag的上級(jí)Tag。例如"ProductTypes"。
輸出:選擇【是】或【否】,表示在進(jìn)行XML輸出時(shí)是否包含本數(shù)據(jù)。
【分組-布局】
起始位置換頁:在本部分內(nèi)容之前插入硬分頁。
結(jié)束位置換頁:在本部分內(nèi)容之后插入硬分頁。
包括分組頭:顯示頭部區(qū)域。不勾選可隱藏頭部區(qū)域。
包括分組尾:顯示尾部區(qū)域。不勾選可隱藏尾部區(qū)域。
重復(fù)分組頭:換頁時(shí)是否重復(fù)頭部區(qū)域。
重復(fù)分組尾:換頁時(shí)是否重復(fù)尾部區(qū)域。
區(qū)域內(nèi)頁碼:是否單獨(dú)排頁碼,默認(rèn)根據(jù)整個(gè)報(bào)表統(tǒng)一排頁碼。
如果可以,將表格分組內(nèi)容打印在同一頁中:本區(qū)域內(nèi)容較多,又可以在一頁內(nèi)顯示時(shí),單獨(dú)用一頁顯示。這樣可能導(dǎo)致前一頁下部空白。
禁止單獨(dú)顯示尾部:不要將尾部顯示在一個(gè)頁面的頂部,上面一行明細(xì)也沒有。
【詳細(xì)數(shù)據(jù)分組】
詳細(xì)數(shù)據(jù)分組用于在詳情中不顯示重復(fù)數(shù)據(jù)。設(shè)置詳細(xì)信息分組時(shí), 該值將為分組表達(dá)式的每個(gè)不同結(jié)果而不是對每一行數(shù)據(jù)重復(fù)。例如,如果你使用NorthWind中Customers表去創(chuàng)建一個(gè)沒有設(shè)置詳細(xì)數(shù)據(jù)分組的列表,由于在同個(gè)國家內(nèi)會(huì)有多個(gè)Customer,所以最終每個(gè)國家都會(huì)被列舉出來多次。如果將詳細(xì)數(shù)據(jù)分組設(shè)置為=Fields!Country.Value,每個(gè)國家只會(huì)被列舉一次。
注意:如果詳細(xì)數(shù)據(jù)分組表達(dá)式返回值本來就不同于其他值,比如"CustomerID", 那么所得結(jié)果與未設(shè)置時(shí)并無差別。
【詳細(xì)數(shù)據(jù)分組-常規(guī)】
名稱:輸入一個(gè)分組名稱。
分組:選擇一個(gè)字段,或者編輯一個(gè)表達(dá)式,作為分組的依據(jù)。典型的是類別性質(zhì)的字段,例如產(chǎn)品類別ID、年度、月份、業(yè)務(wù)區(qū)域,等等。
文檔結(jié)構(gòu)圖標(biāo)簽:輸入一個(gè)文本表達(dá)式,作為目錄項(xiàng)的名稱。
上級(jí)分組:指定一個(gè)父級(jí)分組,以實(shí)現(xiàn)多級(jí)分組。
【詳細(xì)數(shù)據(jù)分組-過濾】
可設(shè)定過濾條件,僅顯示部分分組的數(shù)據(jù)。一個(gè)過濾條件由三部分組成:表達(dá)式、運(yùn)算符、值。
(1)表達(dá)式:過濾條件的檢查對象,一般是某個(gè)字段。
(2)運(yùn)算符:即比較操作符,具體包括:
Equal:相等。即過濾出左邊的表達(dá)式計(jì)算結(jié)果(或某個(gè)字段值)等于某個(gè)指定值(運(yùn)算符右邊的值)的數(shù)據(jù)。
Like:字符串包含。即過濾條件是左邊的表達(dá)式形如右邊的值。
NotEqual:不等于。
GreaterThan:大于。
GreaterThanOrEqual:不小于,即大于或等于。
LessThan:小于。
LessThanOrEqual:不大于,即小于或等于。
TopN:只顯示數(shù)據(jù)集的前幾條數(shù)據(jù),具體幾條,由下面指定的【值】來確定。
BottomN:只顯示數(shù)據(jù)集的后幾條數(shù)據(jù),具體幾條,由下面指定的【值】來確定。
TopPercent:只顯示數(shù)據(jù)集的前百分之幾的部分?jǐn)?shù)據(jù),具體顯示百分之幾,由下面指定的【值】來確定。
BottomPercent:只顯示數(shù)據(jù)集的后百分之幾的部分?jǐn)?shù)據(jù),具體顯示百分之幾,由下面指定的【值】來確定。
In:只顯示表達(dá)式結(jié)果等于幾個(gè)具體值的數(shù)據(jù),具體的值由下面指定的【值】確定。
Between:只顯示表達(dá)式結(jié)果落在兩個(gè)具體值之間的數(shù)據(jù),兩個(gè)具體的值由下面指定的【值】確定。
(3)值
根據(jù)運(yùn)算符的不同,過濾條件中運(yùn)算符右邊的值可能是單個(gè)常數(shù)值,也可能是多個(gè)常數(shù)值(對于Between,In等運(yùn)算符)。
值可能包含通配符,例如運(yùn)算符為Like時(shí),值可能是"陜西省*市"。
對于TopPercent和BottomPercent運(yùn)算符,值應(yīng)該是不帶百分號(hào)的數(shù)字部分,比如想要過濾一半數(shù)據(jù)的話,值應(yīng)該是50,而不是50%或者0.5。
【分組-可見性】
此處可設(shè)置當(dāng)前分組是否隱藏。
可見:總是顯示,即不隱藏。
隱藏:即總是不顯示。
表達(dá)式:根據(jù)表達(dá)式的計(jì)算結(jié)果決定是否隱藏。表達(dá)式應(yīng)返回True/False。注意:True表示隱藏,F(xiàn)alse表示要顯示。
可見性可以通過其他報(bào)表元素進(jìn)行切換:選擇當(dāng)前報(bào)表內(nèi)的另一個(gè)元素,通常是一個(gè)文本框,比如TextBox1。用戶查看報(bào)表時(shí),文本框左邊將顯示一個(gè)用加號(hào)和減號(hào)表示的折疊和展開圖標(biāo)。用戶點(diǎn)擊該圖標(biāo),當(dāng)前元素將在顯示與隱藏之間來回切換。典型的應(yīng)用場景是:文本框中的內(nèi)容設(shè)置為"顯示或隱藏明細(xì)列表",然后通過這個(gè)文本框左邊的加減號(hào)點(diǎn)擊,控制一個(gè)表格或列表是否顯示。
【分組-數(shù)據(jù)輸出】
此處設(shè)置報(bào)表數(shù)據(jù)導(dǎo)出為XML時(shí)的元素Tag。
元素名稱:輸入一個(gè)XML元素名稱,這個(gè)名稱將用作報(bào)表數(shù)據(jù)輸出為XML文件時(shí)的Tag。例如"ProductType"。
集合:輸入一個(gè)XML集合名稱,這個(gè)名稱將用作XML數(shù)據(jù)輸出的元素名稱Tag的上級(jí)Tag。例如"ProductTypes"。
輸出:選擇【是】或【否】,表示在進(jìn)行XML輸出時(shí)是否包含本數(shù)據(jù)。
【分組-布局】
起始位置換頁:在本部分內(nèi)容之前插入硬分頁。
結(jié)束位置換頁:在本部分內(nèi)容之后插入硬分頁。
區(qū)域內(nèi)頁碼:是否單獨(dú)排頁碼,默認(rèn)根據(jù)整個(gè)報(bào)表統(tǒng)一排頁碼。
【過濾】
如果需要只顯示數(shù)據(jù)集的一部分?jǐn)?shù)據(jù),可在此設(shè)置過濾條件。點(diǎn)擊對話框右上角的加號(hào)圖標(biāo),可創(chuàng)建新的過濾條件。一個(gè)過濾條件由三部分組成:表達(dá)式、運(yùn)算符、值。
(1)表達(dá)式:過濾條件的檢查對象,一般是某個(gè)字段。
(2)運(yùn)算符:即比較操作符,具體包括:
Equal:相等。即過濾出左邊的表達(dá)式計(jì)算結(jié)果(或某個(gè)字段值)等于某個(gè)指定值(運(yùn)算符右邊的值)的數(shù)據(jù)。
Like:字符串包含。即過濾條件是左邊的表達(dá)式形如右邊的值。
NotEqual:不等于。
GreaterThan:大于。
GreaterThanOrEqual:不小于,即大于或等于。
LessThan:小于。
LessThanOrEqual:不大于,即小于或等于。
TopN:只顯示數(shù)據(jù)集的前幾條數(shù)據(jù),具體幾條,由下面指定的【值】來確定。
BottomN:只顯示數(shù)據(jù)集的后幾條數(shù)據(jù),具體幾條,由下面指定的【值】來確定。
TopPercent:只顯示數(shù)據(jù)集的前百分之幾的部分?jǐn)?shù)據(jù),具體顯示百分之幾,由下面指定的【值】來確定。
BottomPercent:只顯示數(shù)據(jù)集的后百分之幾的部分?jǐn)?shù)據(jù),具體顯示百分之幾,由下面指定的【值】來確定。
In:只顯示表達(dá)式結(jié)果等于幾個(gè)具體值的數(shù)據(jù),具體的值由下面指定的【值】確定。
Between:只顯示表達(dá)式結(jié)果落在兩個(gè)具體值之間的數(shù)據(jù),兩個(gè)具體的值由下面指定的【值】確定。
(3)值
根據(jù)運(yùn)算符的不同,過濾條件中運(yùn)算符右邊的值可能是單個(gè)常數(shù)值,也可能是多個(gè)常數(shù)值(對于Between,In等運(yùn)算符)。
值可能包含通配符,例如運(yùn)算符為Like時(shí),值可能是"陜西省*市"。
對于TopPercent和BottomPercent運(yùn)算符,值應(yīng)該是不帶百分號(hào)的數(shù)字部分,比如想要過濾一半數(shù)據(jù)的話,值應(yīng)該是50,而不是50%或者0.5。
【數(shù)據(jù)輸出】
此處設(shè)置報(bào)表數(shù)據(jù)導(dǎo)出為XML時(shí)的元素Tag。
元素名稱:輸入一個(gè)XML元素名稱,這個(gè)名稱將用作報(bào)表數(shù)據(jù)輸出為XML文件時(shí)的Tag。例如"Product"。
輸出:自動(dòng)=讓系統(tǒng)決定是否導(dǎo)出(系統(tǒng)會(huì)根據(jù)某些條件決定是否導(dǎo)出,比如文本框內(nèi)的字符串是常量時(shí)不導(dǎo)出,僅導(dǎo)出來自數(shù)據(jù)集的字段值內(nèi)容);是=總是導(dǎo)出;否=不導(dǎo)出);僅內(nèi)容=只導(dǎo)出數(shù)據(jù)內(nèi)容