有時,我們必須以不同的格式處理來自不同來源的數據。對于分析師和報表開發人員來說,這可能是一個令人頭疼的問題。畢竟,你必須以某種方式組合數據。幸運的是,在FastReport.Net的報表中,您可以創建許多數據連接。而且,數據源可以完全不同 - 文本文件,數據庫。多虧了這一點,我們将能夠在一份報表中整合數據。 在本文中,我們将介紹在報表中創建兩個數據源以及從中鍊接表以創建包含主表和從屬表的報表的方法。隻有兩個表和兩個文件。第一個是csv格式,第二個是Json。
為FastReport.Net報表設計器提供了插件。它們是添加新功能的擴展。這些可以是數據源的附加連接器或報表的其他控件。在我們的示例中,我們需要連接到JSON。因此,我們将添加一個帶有連接器的插件到JSON文件的數據源。
插件
要獲得JSON格式的插件連接器,我們需要構建相應的項目。它位于這裡:
C:\ Program Files(x86)\ FastReports \ FastReport.Net \ Extras \ Connections \ FastReport.Json
您隻需要恢複一個NuGet Newtonsoft.Json包并構建一個項目。在Debug或Release文件夾中,您将找到兩個庫:FastReport.Json.dll和Newtonsoft.Json.dll。第一個是報表設計器的插件。
并添加我們創建的插件。要使用它,您需要重新啟動報表設計器。
我們開始創建一個演示報表。使用按鈕創建新數據源:
在數據源創建向導的新窗口中,單擊“New connection”按鈕...
在連接設置窗口中,選擇連接類型。從這個特定列表中,我們選擇要添加的新連接。我們使用插件添加它們。現在我們對标準連接器 - CSV數據庫感興趣。選擇它并設置數據文件的路徑:
如您所見,此窗口中有一些更重要的連接設置。在下面的窗口中,您可以看到表格的外觀。單擊“确定”,然後繼續執行數據源向導的下一步。在這裡,您隻需要使用标記标記表并完成源的創建。
讓我們創建第二個數據源。這次我們選擇連接類型--JSON數據庫。
從這裡的設置我們隻有文件選擇。此外,與第一種情況一樣,選擇表并完成數據源的創建。
所以,我們有兩個表 - 訂單和客戶。在Orders表中,有一個指向Customers的外部鍊接。
我們的任務是提出客戶名稱和每個客戶的訂單列表。通過這種方式,您可以獲得客戶的訂單分組。此類報表稱為Master-Detail。要實現我們的計劃,您需要在表之間創建關系。在“Data”窗口中,單擊“Actions”按鈕。在下拉列表中,選擇New Relation ...:
在關系編輯窗口中,我們設置父表,該表具有一對多的關系。我們還設置了子表。下一步是設置通信列。簡而言之,我們選擇父表中的外鍵和子表中的主鍵:
您可以看到這些表與數據樹中的此特征元素相關:
Customers元素已添加到Orders表中,可以通過單擊加号來打開它。這意味着Orders表具有詳細的Customers表。可以有很多這樣的細節表,沒有限制。
準備好數據; 您可以創建報表模闆。将所需字段從Customers表拖到“Data”區域。對于我們的示例,CompanyName字段就足夠了。然後我們右鍵單擊“Data”區域,并從上下文菜單中選擇“Add Detail Data Band/添加詳細數據帶”。
因此,我們添加從屬頻帶“Data”。将所需字段從Orders表拖到添加的band。
添加詳細數據帶。
我們制作報告模闆并在預覽模式下運行報表:
結果,我們獲得了從完全不同的數據源獲得的邏輯相關表。因此,您不需要将數據轉換為單一格式,這将極大地便于向經常使用各種數據的人員開發報表。
點擊“了解更多”下載産品最新試用版
↓↓↓
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!