FastReport教程:如何在報(bào)表中使用多個(gè)數(shù)據(jù)庫(kù)
FastReport.Net在線訂購(gòu)火熱進(jìn)行中,立可享受特別優(yōu)惠!點(diǎn)此鏈接,速來(lái)?yè)屬?gòu)!!!
有時(shí),我們必須以不同的格式處理來(lái)自不同來(lái)源的數(shù)據(jù)。對(duì)于分析師和報(bào)表開(kāi)發(fā)人員來(lái)說(shuō),這可能是一個(gè)令人頭疼的問(wèn)題。畢竟,你必須以某種方式組合數(shù)據(jù)。幸運(yùn)的是,在FastReport.Net的報(bào)表中,您可以創(chuàng)建許多數(shù)據(jù)連接。而且,數(shù)據(jù)源可以完全不同 - 文本文件,數(shù)據(jù)庫(kù)。多虧了這一點(diǎn),我們將能夠在一份報(bào)表中整合數(shù)據(jù)。 在本文中,我們將介紹在報(bào)表中創(chuàng)建兩個(gè)數(shù)據(jù)源以及從中鏈接表以創(chuàng)建包含主表和從屬表的報(bào)表的方法。只有兩個(gè)表和兩個(gè)文件。第一個(gè)是csv格式,第二個(gè)是json。
為FastReport.Net報(bào)表設(shè)計(jì)器提供了插件。它們是添加新功能的擴(kuò)展。這些可以是數(shù)據(jù)源的附加連接器或報(bào)表的其他控件。在我們的示例中,我們需要連接到JSON。因此,我們將添加一個(gè)帶有連接器的插件到JSON文件的數(shù)據(jù)源。
插件
要獲得JSON格式的插件連接器,我們需要構(gòu)建相應(yīng)的項(xiàng)目。它位于這里:
C:\ Program Files(x86)\ FastReports \ FastReport.Net \ Extras \ Connections \ FastReport.Json
您只需要恢復(fù)一個(gè)NuGet Newtonsoft.Json包并構(gòu)建一個(gè)項(xiàng)目。在Debug或Release文件夾中,您將找到兩個(gè)庫(kù):FastReport.Json.dll和Newtonsoft.Json.dll。第一個(gè)是報(bào)表設(shè)計(jì)器的插件。
如何添加插件
運(yùn)行報(bào)表設(shè)計(jì)器。在文件菜單中,我們找到選項(xiàng)。在報(bào)表設(shè)計(jì)器選項(xiàng)中,轉(zhuǎn)到“plugin”選項(xiàng)卡:
并添加我們創(chuàng)建的插件。要使用它,您需要重新啟動(dòng)報(bào)表設(shè)計(jì)器。
我們開(kāi)始創(chuàng)建一個(gè)演示報(bào)表。使用按鈕創(chuàng)建新數(shù)據(jù)源:
在數(shù)據(jù)源創(chuàng)建向?qū)У男麓翱谥校瑔螕簟癗ew connection”按鈕...
在連接設(shè)置窗口中,選擇連接類型。從這個(gè)特定列表中,我們選擇要添加的新連接。我們使用插件添加它們。現(xiàn)在我們對(duì)標(biāo)準(zhǔn)連接器 - CSV數(shù)據(jù)庫(kù)感興趣。選擇它并設(shè)置數(shù)據(jù)文件的路徑:
如您所見(jiàn),此窗口中有一些更重要的連接設(shè)置。在下面的窗口中,您可以看到表格的外觀。單擊“確定”,然后繼續(xù)執(zhí)行數(shù)據(jù)源向?qū)У南乱徊健T谶@里,您只需要使用標(biāo)記標(biāo)記表并完成源的創(chuàng)建。
讓我們創(chuàng)建第二個(gè)數(shù)據(jù)源。這次我們選擇連接類型--JSON數(shù)據(jù)庫(kù)。
從這里的設(shè)置我們只有文件選擇。此外,與第一種情況一樣,選擇表并完成數(shù)據(jù)源的創(chuàng)建。
所以,我們有兩個(gè)表 - 訂單和客戶。在Orders表中,有一個(gè)指向Customers的外部鏈接。
我們的任務(wù)是提出客戶名稱和每個(gè)客戶的訂單列表。通過(guò)這種方式,您可以獲得客戶的訂單分組。此類報(bào)表稱為Master-Detail。要實(shí)現(xiàn)我們的計(jì)劃,您需要在表之間創(chuàng)建關(guān)系。在“Data”窗口中,單擊“Actions”按鈕。在下拉列表中,選擇New Relation ...:
在關(guān)系編輯窗口中,我們?cè)O(shè)置父表,該表具有一對(duì)多的關(guān)系。我們還設(shè)置了子表。下一步是設(shè)置通信列。簡(jiǎn)而言之,我們選擇父表中的外鍵和子表中的主鍵:
您可以看到這些表與數(shù)據(jù)樹(shù)中的此特征元素相關(guān):
Customers元素已添加到Orders表中,可以通過(guò)單擊加號(hào)來(lái)打開(kāi)它。這意味著Orders表具有詳細(xì)的Customers表。可以有很多這樣的細(xì)節(jié)表,沒(méi)有限制。
準(zhǔn)備好數(shù)據(jù); 您可以創(chuàng)建報(bào)表模板。將所需字段從Customers表拖到“Data”區(qū)域。對(duì)于我們的示例,CompanyName字段就足夠了。然后我們右鍵單擊“Data”區(qū)域,并從上下文菜單中選擇“Add Detail Data Band/添加詳細(xì)數(shù)據(jù)帶”。
因此,我們添加從屬頻帶“Data”。將所需字段從Orders表拖到添加的band。
添加詳細(xì)數(shù)據(jù)帶。
我們制作報(bào)告模板并在預(yù)覽模式下運(yùn)行報(bào)表:
結(jié)果,我們獲得了從完全不同的數(shù)據(jù)源獲得的邏輯相關(guān)表。因此,您不需要將數(shù)據(jù)轉(zhuǎn)換為單一格式,這將極大地便于向經(jīng)常使用各種數(shù)據(jù)的人員開(kāi)發(fā)報(bào)表。
相關(guān)鏈接:
關(guān)于產(chǎn)品的任何問(wèn)題,歡迎咨詢