翻譯|行業資訊|編輯:胡濤|2024-03-07 11:18:32.870|閱讀 132 次
概述:本文將繼續向您介紹報表生成器FastReport .Net中有關表達式(下)部分,歡迎查閱~
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在上一篇文章《報表生成器FastReport .Net用戶指南:表達式(上)》中,我們已經介紹了表達式中的表達式編輯器、引用報告對象、使用 .Net 函數、數據元素參考這四部分,接下來讓我們繼續介紹表達式中的:引用數據源、引用總值、參考報告參數
FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC報表分析解決方案,使用FastReport .NET可以創建獨立于應用程序的.NET報表,同時FastReport .Net支持中文、英語等14種語言,可以讓你的產品保證真正的國際性。
在引用數據源列時,使用以下格式:
[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()
如圖所示,FastReport 按以下方式更改對數據列的引用:
[Employees.FirstName] --> (string)(Report.GetColumnValue("Employees.FirstName"))
[Employees.FirstName] --> (string)(Report.GetColumnValue("Employees.FirstName")) [Employees.Age] --> (int)(Report.GetColumnValue("Employees.Age"))
也就是說,我們可以在表達式中將數據列當作具有確定類型的變量來使用。例如,下面的表達式將返回雇員姓名的第一個符號:
[Employees.FirstName].Substring(0, 1)
要引用一個總值,請使用其名稱:
[TotalSales]
FastReport 將引用總數轉換為以下形式:
Report.GetTotalValue("TotalSales")
正如您所看到的,這里沒有使用數據類型。之所以如此,是因為總值屬于 FastReport.Variant 類型。它可以在任何表達式中直接使用,因為它會自動轉換為任何類型。例如:
[TotalSales] * 0.2f
要用報告參數,應使用其名稱:
[Parameter1]
參數可以嵌套。在這種情況下,父參數名和子參數名都應使用以下形式:
[ParentParameter.ChildParameter]
參數有明確的數據類型。它在參數的 "DataType "屬性中設置。在表達式中的使用方式取決于參數的數據類型。
FastReport 將對報告參數的引用轉換為以下方式:
((string)Report.GetParameterValue("Parameter1"))
本次關于 FastReport .Net 介紹就講解到這里了,點擊此處查看關于用戶指南的更多內容。如果您想獲取更多產品試用/授權/價格信息,請點擊FastReport .Net了解,或者點擊咨詢。
FastReport技術QQ群:585577353 歡迎進群一起討論
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn