翻譯|行業資訊|編輯:胡濤|2024-03-11 13:10:10.633|閱讀 175 次
概述:本文主要介紹報表生成器Stimulsoft中關于表達式部分,歡迎查閱~
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Stimulsoft Reports 是一款報告編寫器,主要用于在桌面和Web上從頭開始創建任何復雜的報告。可以在大多數平臺上輕松實現部署,如ASP.NET, WinForms, .NET Core, JavaScript, WPF, Angular, Blazor, PHP, Java等,在你的應用程序中嵌入報告設計器或在線創建報告,支持從云端快速分享你的報告。
表達式是 Stimulsoft Reports 的重要組成部分--沒有表達式,就不可能生成任何報表。表達式是以下一個或多個元素的組合:
Stimulsoft Reports 可以處理報表中定義的表達式,計算每個表達式要顯示或打印的值。該值將被保存,并可在生成報告輸出時用于進一步計算。
報表生成器中最常用的表達式是文本表達式。這些表達式用于定義報告中顯示或打印的任何文本,而這些文本不是任何計算的對象,例如文本標題。文
本表達式總是轉換為字符串。
最簡單的表達式是文本表達式。例如:
上述三個表達式都由一個字符串組成,沒有任何計算--表達式將完全按照其定義打印在報表中。此類表達式通常用于表示簡單的字符串常量、列名、報表、鏈接等 。
表達式可以包含多種不同類型的變量以及函數和數據庫中的字段值。這些不同的部分可以組合在一起,計算出一個要打印或顯示在報表中的值。
在表達式中使用代碼
在表達式中計算數值時,還可以加入用報表編程語言編寫的代碼。大括號("{"和"}"符號)用于將代碼項與其他文本分隔開來。開頭的大括號符號"{"表示計算的開始。結尾大括號符號"}"表示計算結束。符號之間的代碼經過計算,其值包含在計算結果中。在文本表達式中,計算結果會自動轉換為字符串。例如,如果輸入以下表達式:
值 = {1 + 2}多代碼插入
使用計算時,允許在任何一個表達式中插入不限數量的代碼。例如,如果輸入以下表達式
ValueA = {1 + 2}, ValueB = {2 + 3}嵌套代碼插入
在表達式中執行計算時,不允許嵌套代碼部分。例如,以下表達式不正確,會導致計算失敗:
值 = {1 + 2 + {2 + 3}}
重要:在表達式中進行計算時,不允許代碼嵌套。
一個表達式可以在報告中輸出多行文本。要創建多行表達式,請在任何新行前插入換行符。只需在代碼編輯器的適當位置按下 Enter 鍵即可。表達式的行數沒有限制。例如,如果輸入以下表達式:
值:{1+2}
計算后,報告中顯示的結果將是:
值:3
換句話說,文本輸出將包含兩行。
注意:表達式可以包含任意行數。
在多行表達式中使用代碼,與單行表達式相比,多行表達式在使用代碼計算值方面沒有限制。
您可以在設計器數據字典中創建變量,然后將其用于表達式中。在表達式中指定變量名后,變量值將包含在報告中。語法僅為變量名,并用大括號包圍。例如,如果將變量值設為 5,并輸入以下表達式:
值 = {我的變量}
計算后,報告中顯示的結果將是:
值 = 5
使用變量進行計算
例如,如果 MyVariable 的值是 15,并輸入以下表達式:
值 = {我的變量 + 10}
那么計算后,報告中顯示的結果將是
值 = 25
重要提示:如果報表語言為 C#,則變量名區分大小寫。如果報表語言為 VB.Net,則變量名不區分大小寫。
表達式中可以使用數據源中的值。要引用數據源中的字段,必須提供字段的字符串表示。引用的語法很簡單--給出數據源名稱和字段名稱,中間用小數點或句號分隔,并用大括號包圍:
{DataSource.Column} (數據源列)
例如,如果在客戶表中有一個條目,其公司名稱字段設置為 "The Big Company",并輸入以下表達式:
公司名稱: {Customers.CompanyName}
那么計算后,報告中出現的結果將是:
公司名稱: 大公司
注意:為避免手動創建此類表達式,可以使用從數據字典直接拖放到報表頁面或表達式編輯器中的拖放功能,以正確的語法自動插入必要的信息
父級關系
如果數據源與其他數據源有父級關系,則可以直接引用父級數據源中的字段。引用的語法與已給出的示例類似--給出數據源名稱、關系名稱和字段名稱,每個名稱用小數點或句號分隔,并用大括號包圍。例如
{數據源.關系.字段}。
假設您有這樣一組信息:
如果輸入以下表達式
{Products.ParentCategories.CategoryName} 。
那么經過計算后,報告中出現的結果將是產品的類別名稱。
在 Stimulsoft Reports 中可以使用的關系數量沒有限制。因此,一列可以通過兩個或三個甚至更多的關系來調用。例如,假設您有這樣一組信息:如果輸入以下表達式:
{OrderDetails.ParentProducts.ParentCategories.CategoryName}。
那么經過計算后,報告中顯示的結果仍將是產品的類別名稱,但 CategoryName 字段的值是通過關系獲得的,并繞過了 OrderDetails 數據源到達了 Categories 數據源。沒有直接調用類別數據源
重要:如果報告語言是 C#,則名稱區分大小寫。如果報告語言是 VB.Net,則名稱不區分大小寫。
請記住,數據源中的所有值都是類型化的。這意味著所有數據項都會動態轉換為選項列中指定的類型,這有助于加快報表的開發。但是,如果需要從一列中獲取數據而不進行轉換,則需要直接指定數據源。例如,在 C# 中
{Products["ProductName"]}
該表達式將 "按原樣 "返回產品數據源的數據,而不進行轉換。下面的示例顯示了 VB.Net 的相同表達式:
{Products.Item("ProductName")}以上便是有關Stimulsoft Reports 中報告中發票報告相關介紹,如有其他問題,歡迎私聊我們~
想要了解Stimulsoft Reports 報價信息的朋友,歡迎咨詢。
加入官方社群 740060302,歡迎相互交流
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn