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

運行報告時,我們會看到一個很大的矩陣,占據(jù)了兩張紙:
