翻譯|行業(yè)資訊|編輯:胡濤|2024-01-17 11:24:49.387|閱讀 137 次
概述:本文主要介紹在報表生成器FastReport .Net中,如何創(chuàng)建數(shù)據源關系,歡迎查閱~
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC報表分析解決方案,使用FastReport .NET可以創(chuàng)建獨立于應用程序的.NET報表,同時FastReport .Net支持中文、英語等14種語言,可以讓你的產品保證真正的國際性。
兩個數(shù)據源之間可以設置關系。關系用于定義 "master-detail"關系。例如,"Categories "表中的一條記錄可以在 "Products "表中有多個條目:
要創(chuàng)建關系,您需要說明以下內容:
兩個表都有 CategoryID 字段,可以在該字段上設置關系。因此,一個類別可能包含多個產品。
如何在 FastReport 中使用相關數(shù)據源?有兩種方法。
第一種方法可以建立 "master-detail "類型的報告。為此,需要使用兩個 "Data "帶。主數(shù)據帶連接到主數(shù)據源,詳細數(shù)據帶連接到詳細數(shù)據源。我們的示例如下:
如果運行這樣的報告,就會打印出每個類別的產品清單:
第二種方法允許從詳細數(shù)據源引用主數(shù)據源。我們將舉例說明。假設我們要打印所有產品的列表。為此,我們需要一個與 "Products "表相連的 "Data "帶:
這樣的報告將打印所有類別的所有產品。比方說,我們想在每個產品旁邊打印它所屬的類別名稱。如果不使用關系,這將更加困難。我們所知道的產品類別就是它的 id(由 "Products "表中的 "CategoryID "列表示)。我們要打印的類別名稱存儲在 "Category "表的 "CategoryName "列中。借助關系,我們可以按以下方式引用類別名稱:
[Products.Categories.CategoryName]對于 "Products"表的當前行,F(xiàn)astReport 將在 "類別 "表中找到相應的父行,并返回 "CategoryName "列的值。
在一般情況下,引用父表字段的方式允許表祖先的數(shù)量不受限制:
如果我們將上圖所示的列拖入報告中,就會得到一個包含文本的 "Text "對象:
如果我們運行它,就會看到以下內容:
要創(chuàng)建關系,請單擊 "Data "窗口中的 "Actions "按鈕,然后選擇 "New relation... "項。您將看到關系編輯器:
首先,需要選擇父表和子表。然后,在窗口下部選擇相關數(shù)據列??梢酝ㄟ^一個或多個數(shù)據列將表關聯(lián)起來。列設置完成后,按 "確定 "按鈕關閉關系編輯器。
在 "Data "窗口中,選擇子數(shù)據源并打開列列表,就可以看到創(chuàng)建的關系。在這些列中,可以看到與父數(shù)據源的關系:
父數(shù)據源的數(shù)據列可以通過拖放方法插入到報表中。因此,如果我們選擇如圖所示的列,并將其拖到報告頁面上,就會得到一個內容如下的 "Text"對象:
[Products.Categories.CategoryName]
要編輯關系,請打開子數(shù)據源的列列表,找到需要的關系并點擊工具欄上的 "Eidt..."按鈕。這將調用我們之前看過的關系編輯器。
有一系列系統(tǒng)變量可在報告中使用:
Variable | Description |
---|---|
Date |
報告開始的日期和時間。 |
Page | 當前頁碼。 |
TotalPages | 報告的總頁數(shù)。要使用此變量,需要啟用報告的雙通道。您可以在 "報告 |
PageN | 表格中的頁碼:"Page N"。 |
PageNofM |
表格頁碼:"Page N of M"。 |
Row# | 組內數(shù)據行號。該值在新組開始時重置。 |
AbsRow# |
數(shù)據行的絕對數(shù)。該值在新組開始時不會重置。 |
Page# |
當前頁碼。如果將多個準備好的報告合并到一個數(shù)據包中,該變量將返回數(shù)據包中的當前頁碼。該變量實際上是一個宏,當在預覽窗口中查看組件時,它的值將被替換。這意味著不能在表達式中使用它。 |
TotalPages# |
報告的總頁數(shù)。如果將多個準備好的報告合并為一個數(shù)據包,該變量將返回一個數(shù)據包的頁數(shù)。該變量實際上是一個宏。該變量實際上是一個宏,當在預覽窗口中查看組件時,它的值將被替換。這意味著你不能在表達式中使用它。 |
HierarchyLevel | 層次結構報告中的當前層次結構級別(請參閱 "打印層次結構")。頂層等于 1。 |
HierarchyRow# |
層次結構報告中的完整行號,如 "1.2.1"。 |
本次關于 FastReport .Net 介紹就講解到這里了,點擊此處查看關于用戶指南的更多內容。如果您想獲取更多產品試用/授權/價格信息,請點擊FastReport .Net了解,或者點擊咨詢。
FastReport技術QQ群:585577353 歡迎進群一起討論
本站文章除注明轉載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn