• <menu id="w2i4a"></menu>
  • logo FastReport.Net教程2019

    文檔首頁>>FastReport.Net教程2019>>如何制作Master-Detail主從報(bào)表,加快數(shù)據(jù)查詢&減少數(shù)據(jù)冗余

    如何制作Master-Detail主從報(bào)表,加快數(shù)據(jù)查詢&減少數(shù)據(jù)冗余


    各種電子文檔有時(shí)似乎是無限的。然而,在實(shí)踐中,通常不能使用過多類型的文檔。

    在電子報(bào)告中,最常見的文檔類型是一個(gè)簡單的列表。然后,有復(fù)雜的列表。復(fù)雜列表可以有許多變體,但主要的是“Main” - “subordinate”類型的報(bào)告。這種類型的本質(zhì)是在一對多方案中數(shù)據(jù)實(shí)體之間存在依賴關(guān)系。也就是說,主表中的一條記錄可以對應(yīng)于下級中的幾條記錄。在實(shí)踐中,它看起來像這樣:

    如何制作Master-Detail主從報(bào)表,加快數(shù)據(jù)查詢&減少數(shù)據(jù)冗余

    主表中的條目包含類別的名稱、簡要說明和圖片。每個(gè)類別都包含特定產(chǎn)品。此示例僅顯示一個(gè)依賴項(xiàng)“Main” - “subordinate”。但是從屬表也可以有它的從屬表,然后它已經(jīng)是第二個(gè)連接的主要表。這種分層依賴性可以是任意多個(gè)。現(xiàn)在,在實(shí)踐中,讓我們考慮如何創(chuàng)建這樣的報(bào)告。

    首先,我們需要一個(gè)數(shù)據(jù)源,其中將有兩個(gè)邏輯相關(guān)的表,如上例所示。

    將數(shù)據(jù)源添加到報(bào)表中。在我們的例子中,將有兩個(gè)相關(guān)的表:

    客戶和訂單。

    在數(shù)據(jù)“Data”窗口中,它看起來像這樣:

    如何制作Master-Detail主從報(bào)表,加快數(shù)據(jù)查詢&減少數(shù)據(jù)冗余

    現(xiàn)在我們需要鏈接這些表。為此,請單擊數(shù)據(jù)窗口中的操作“Actions”按鈕。下拉列表將打開:

    如何制作Master-Detail主從報(bào)表,加快數(shù)據(jù)查詢&減少數(shù)據(jù)冗余

    您需要選擇新關(guān)系“New Relation”項(xiàng)。在關(guān)系編輯表單中,我們需要定義主表和從屬表,以及它們應(yīng)該鏈接的字段:

    如何制作Master-Detail主從報(bào)表,加快數(shù)據(jù)查詢&減少數(shù)據(jù)冗余

    主表是“customer”,其主鍵是CustNo。從屬表是“orders1”,它的外鍵CustNo。成功創(chuàng)建連接后,我們將在數(shù)據(jù)窗口中看到它:

    如何制作Master-Detail主從報(bào)表,加快數(shù)據(jù)查詢&減少數(shù)據(jù)冗余

    如您所見,orders1表中顯示了一條指向客戶的鏈接。如果您打開它,我們將看到customer表中的所有相同字段。

    我們已經(jīng)準(zhǔn)備好了數(shù)據(jù),現(xiàn)在您需要?jiǎng)?chuàng)建一個(gè)報(bào)告模板。

    默認(rèn)情況下,空白報(bào)告中提供單個(gè)波段數(shù)據(jù)。讓我們從客戶表中添加一些字段:customer.Company、customer.Addr1、customer.Phone、customer.Contact。我們將放置這些字段,以便獲得某張公司名片卡:

    如何制作Master-Detail主從報(bào)表,加快數(shù)據(jù)查詢&減少數(shù)據(jù)冗余

    右鍵單擊波段標(biāo)題數(shù)據(jù)“Data”:

    如何制作Master-Detail主從報(bào)表,加快數(shù)據(jù)查詢&減少數(shù)據(jù)冗余

    并選擇添加詳細(xì)數(shù)據(jù)段“Add detailed data band”選項(xiàng)。單擊配置數(shù)據(jù)段Configure bands...鏈接

    如何制作Master-Detail主從報(bào)表,加快數(shù)據(jù)查詢&減少數(shù)據(jù)冗余

    并為Data2頻段添加標(biāo)題區(qū)。為此,請使用鼠標(biāo)選擇Data2波段,然后單擊添加“Add”按鈕。在下拉列表中,選擇標(biāo)題Header。

    之后,您可以將orders1表中的字段添加到詳細(xì)的數(shù)據(jù)“Data”區(qū)域:orders1.OrderNo、orders1.SaleDate、orders1.AmountPaid。同時(shí)將自動(dòng)添加列標(biāo)題。格式化標(biāo)題,我們的模板幾乎準(zhǔn)備就緒:

    如何制作Master-Detail主從報(bào)表,加快數(shù)據(jù)查詢&減少數(shù)據(jù)冗余

    雙擊“Data”頻段的標(biāo)題:

    如何制作Master-Detail主從報(bào)表,加快數(shù)據(jù)查詢&減少數(shù)據(jù)冗余

    我們選擇客戶表作為數(shù)據(jù)源?,F(xiàn)在讓我們對詳細(xì)的數(shù)據(jù)“Data”頻段做同樣的事情:

    如何制作Master-Detail主從報(bào)表,加快數(shù)據(jù)查詢&減少數(shù)據(jù)冗余

    現(xiàn)在我們的報(bào)告已準(zhǔn)備就緒。讓我們看看我們得到了什么:

    如何制作Master-Detail主從報(bào)表,加快數(shù)據(jù)查詢&減少數(shù)據(jù)冗余



    產(chǎn)品介紹 | 下載試用 | 優(yōu)惠活動(dòng) | 在線客服


    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();