使用數(shù)據(jù)字段
Stimulsoft是白俄羅斯一家報(bào)表控件廠商,該商家一直專注于報(bào)表控件的研發(fā)與創(chuàng)新,是報(bào)表控件行業(yè)的領(lǐng)導(dǎo)者。Stimulsoft 經(jīng)過多年的努力,終于實(shí)現(xiàn)了更加簡單的設(shè)計(jì)報(bào)表,數(shù)據(jù)驅(qū)動更快的應(yīng)用程序,更加簡便的應(yīng)用新的技術(shù),極大程度上的減少了開發(fā)人員的工作量,提高了工作的效率。
表達(dá)式中可以使用數(shù)據(jù)源中的值。要引用數(shù)據(jù)源中的字段,必須提供字段的字符串表示。引用的語法很簡單--給出數(shù)據(jù)源名稱和字段名稱,中間用小數(shù)點(diǎn)或句號分隔,并用大括號包圍:
{DataSource.Column} (數(shù)據(jù)源列)
例如,如果在客戶表中有一個(gè)條目,其公司名稱字段設(shè)置為 "The Big Company",并輸入以下表達(dá)式:
公司名稱: {Customers.CompanyName}
那么計(jì)算后,報(bào)告中出現(xiàn)的結(jié)果將是:
公司名稱: 大公司
注意:為避免手動創(chuàng)建此類表達(dá)式,可以使用從數(shù)據(jù)字典直接拖放到報(bào)表頁面或表達(dá)式編輯器中的拖放功能,以正確的語法自動插入必要的信息
父級關(guān)系
如果數(shù)據(jù)源與其他數(shù)據(jù)源有父級關(guān)系,則可以直接引用父級數(shù)據(jù)源中的字段。引用的語法與已給出的示例類似--給出數(shù)據(jù)源名稱、關(guān)系名稱和字段名稱,每個(gè)名稱用小數(shù)點(diǎn)或句號分隔,并用大括號包圍。例如
{數(shù)據(jù)源.關(guān)系.字段}。
假設(shè)您有這樣一組信息:
- 產(chǎn)品是數(shù)據(jù)源的名稱;
- roducts是產(chǎn)品列表,Categories是這些產(chǎn)品的類別列表。
- CategoryName 是 Categories 數(shù)據(jù)源中的列名
如果輸入以下表達(dá)式
{Products.ParentCategories.CategoryName} 。
那么經(jīng)過計(jì)算后,報(bào)告中出現(xiàn)的結(jié)果將是產(chǎn)品的類別名稱。
在 Stimulsoft Reports 中可以使用的關(guān)系數(shù)量沒有限制。因此,一列可以通過兩個(gè)或三個(gè)甚至更多的關(guān)系來調(diào)用。例如,假設(shè)您有這樣一組信息:- OrderDetails 是數(shù)據(jù)源的名稱;
- ParentProducts 是 OrdersDetails 和 Products 數(shù)據(jù)源之間關(guān)系的名稱;
- ParentCategories 是產(chǎn)品和類別數(shù)據(jù)源之間關(guān)系的名稱;
- CategoryName 是 Categories 數(shù)據(jù)源中的字段。
如果輸入以下表達(dá)式:
{OrderDetails.ParentProducts.ParentCategories.CategoryName}。
那么經(jīng)過計(jì)算后,報(bào)告中顯示的結(jié)果仍將是產(chǎn)品的類別名稱,但 CategoryName 字段的值是通過關(guān)系獲得的,并繞過了 OrderDetails 數(shù)據(jù)源到達(dá)了 Categories 數(shù)據(jù)源。沒有直接調(diào)用類別數(shù)據(jù)源
重要:如果報(bào)告語言是 C#,則名稱區(qū)分大小寫。如果報(bào)告語言是 VB.Net,則名稱不區(qū)分大小寫。
請記住,數(shù)據(jù)源中的所有值都是類型化的。這意味著所有數(shù)據(jù)項(xiàng)都會動態(tài)轉(zhuǎn)換為選項(xiàng)列中指定的類型,這有助于加快報(bào)表的開發(fā)。但是,如果需要從一列中獲取數(shù)據(jù)而不進(jìn)行轉(zhuǎn)換,則需要直接指定數(shù)據(jù)源。例如,在 C# 中
{Products["ProductName"]}
該表達(dá)式將 "按原樣 "返回產(chǎn)品數(shù)據(jù)源的數(shù)據(jù),而不進(jìn)行轉(zhuǎn)換。下面的示例顯示了 VB.Net 的相同表達(dá)式:
{Products.Item("ProductName")}