文檔首頁(yè)>>FastReport中文文檔>>示例 5.使用表達(dá)式
示例 5.使用表達(dá)式
在前面的示例中,我們通過(guò)拖動(dòng) "Data "窗口中的列來(lái)創(chuàng)建矩陣。您也可以為此使用表達(dá)式。要在矩陣中插入表達(dá)式,請(qǐng)執(zhí)行以下操作:
- 將 "Data "窗口中的任意元素添加到矩陣中。它可以是任何元素,例如系統(tǒng)變量 "日期",我們只是用它來(lái)創(chuàng)建一個(gè)矩陣元素;
- 雙擊該元素,然后在表達(dá)式編輯器窗口中選擇所需的表達(dá)式。
如果矩陣使用表達(dá)式而不是數(shù)據(jù)字段,則必須檢查矩陣的 "DataSource "屬性是否設(shè)置正確。在使用數(shù)據(jù)列時(shí),將列拖入矩陣時(shí),該屬性會(huì)自動(dòng)填入
讓我們舉例說(shuō)明如何使用表達(dá)式。為此,我們將使用 "訂單詳細(xì)信息 "表作為數(shù)據(jù)源,其中包含按員工分組的已售產(chǎn)品列表。該表中有幾種關(guān)系,可以訪問(wèn)員工姓名、產(chǎn)品名稱(chēng)及其類(lèi)別。
我們的矩陣將顯示按產(chǎn)品分類(lèi)的每位員工的銷(xiāo)售額。為了建立矩陣,請(qǐng)執(zhí)行以下操作:
- 在列頭添加 "Order Details.Products.Categories.CategoryName "數(shù)據(jù)列;
- 在行標(biāo)題中添加任意項(xiàng),以創(chuàng)建矩陣元素。然后為標(biāo)題元素設(shè)置以下表達(dá)式:
[Order Details.Orders.Employees.FirstName] + " " + [Order Details.Orders.Employees.LastName]
- 在數(shù)據(jù)單元格中添加任何項(xiàng)目,以創(chuàng)建一個(gè)矩陣元素。然后為單元格設(shè)置以下表達(dá)式:
[Order Details.UnitPrice] * [Order Details.Quantity] * (decimal)(1 - [Order Details.Discount]
雖然我們可以從 "Employees.FirstName "中獲取雇員的姓名,但為什么要將這么長(zhǎng)的數(shù)據(jù)列表示為雇員姓名呢? 因?yàn)榫仃嚺c "訂單詳細(xì)信息 "數(shù)據(jù)源相連。利用該數(shù)據(jù)源和其他表之間的關(guān)系,可以很容易地引用其列(有關(guān)關(guān)系的更多詳情,請(qǐng)參閱 "Data "一章)。 如果我們直接引用 "Employees.FirstName "數(shù)據(jù)列,我們將得到表中第一個(gè)雇員的姓名。
設(shè)置矩陣外觀。之后,矩陣外觀將如下所示:
運(yùn)行報(bào)告時(shí),我們會(huì)看到一個(gè)很大的矩陣,占據(jù)了兩張紙: