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

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