引用數據源
在引用數據源列時,使用以下格式:
[DataSource.Column]
點擊復制
例如,源名稱與列名稱之間用句號隔開:
[Employees.FirstName]
點擊復制
如果使用關系引用數據源,源名稱可以是復合的。更多詳情,請參閱 "數據 "部分。例如,可以這樣引用相關數據源列:
[Products.Categories.CategoryName]
點擊復制
讓我們看看下面這個在表達式中使用列的示例:
[Employees.FirstName] + " " + [Employees.LastName]
點擊復制
這里需要注意的是:每一列都有明確的數據類型,該類型在 "DataType(數據類型)"屬性中設置(如果事先在 "Data(數據)"窗口中選擇了數據列,則可以在 "Properties(屬性)"窗口中看到)。表達式中如何使用列取決于列的類型。例如,在上述示例中,名和姓這兩列都是字符串類型,因此可以這樣使用。在下面的示例中,我們將嘗試使用數值類型的 "Employees.Age "列,這將導致錯誤:
[Employees.FirstName] + " " + [Employees.Age]
點擊復制
出現錯誤的原因是,字符串和數字不能混用。為此,您需要將數字轉換為字符串:
[Employees.FirstName] + " " + [Employees.Age].ToString()
點擊復制
在本例中,我們把 "Employees.Age "列當作一個整數變量來引用。事實也是如此。我們知道,所有表達式都是經過編譯的。從編譯器的角度來看,所有非標準的東西(如引用數據列)都會被轉換成另一種類型,而這種類型是編譯器可以理解的。因此,最后一個表達式將被轉換成下面的形式:
(string)(Report.GetColumnValue("Employees.FirstName")) + " " + (int)(Report.GetColumnValue("Employees.Age")).ToString()
點擊復制
[Employees.FirstName] --> (string)(Report.GetColumnValue("Employees.FirstName"))
[Employees.Age] --> (int)(Report.GetColumnValue("Employees.Age"))
也就是說,我們可以在表達式中將數據列當作具有確定類型的變量來使用。例如,下面的表達式將返回雇員姓名的第一個符號:
[Employees.FirstName].Substring(0, 1)
點擊復制
如需下載fastreport最新試用版,請點產品名跳轉產品下載頁>>