• <menu id="w2i4a"></menu>
  • logo FastReport VCL中文教程(持續(xù)更新中)

    文檔首頁>>FastReport VCL中文教程(持續(xù)更新中)>>如何在FastReport VCL 6中的數(shù)據(jù)組標(biāo)題中顯示總計(jì)

    如何在FastReport VCL 6中的數(shù)據(jù)組標(biāo)題中顯示總計(jì)


    FastReport VCL 6中出現(xiàn)的新功能之一是能夠在標(biāo)題欄中顯示分組結(jié)果。以前,您只能在分組后顯示結(jié)果。如果數(shù)據(jù)組足夠大,則必須將其向下滾動(dòng)以查找結(jié)果。在數(shù)據(jù)組標(biāo)題中打印結(jié)果要方便得多。

    我們來看看在標(biāo)題欄中使用總數(shù)的特性。最初有關(guān)它如何工作的一點(diǎn)理論。

    標(biāo)題中的總數(shù)使用延遲處理來實(shí)現(xiàn)。在報(bào)告輸出期間,所有具有非標(biāo)準(zhǔn)處理?xiàng)l件的對象都被放置在特殊列表中。然后,在達(dá)到一定條件時(shí),觸發(fā)對象的處理。

    在標(biāo)題區(qū)中成功顯示總數(shù)必須遵守許多條件:

    1. 標(biāo)題欄必須有成對的頁腳band。這對確定報(bào)告的結(jié)構(gòu)很有必要?;蛘吒玫卣f,以確定我們將在下面考慮的事件;
    2. 成對的頁腳band必須有一個(gè)可以計(jì)算總數(shù)的字段。相同的字段將被添加到標(biāo)題band。如果你不需要這個(gè)數(shù)據(jù)組的頁腳的結(jié)果,那就只是讓它看不見。

    現(xiàn)在考慮“Text”對象的新屬性。Processing屬性允許您定義一個(gè)事件,通過這個(gè)事件將在這個(gè)對象中顯示一個(gè)值。事實(shí)上,Processing包含兩個(gè)屬性——GroupLevel和ProcessAt。 GroupLevel允許您設(shè)置數(shù)據(jù)組的嵌套級別。這是在您使用幾個(gè)嵌套分組的情況下完成的。因此,您可以在每個(gè)組的每個(gè)標(biāo)題中顯示總計(jì)。

    ProcessAt包含您可以開始處理該字段的事件列表。以下是可能的值:

    • paColumnFinished——列顯示結(jié)束時(shí);
    • paCustom——用戶在報(bào)告腳本中創(chuàng)建的任意事件;
    • paDataFinished——顯示所有數(shù)據(jù)后;
    • paDefault——默認(rèn)值;
    • paGroupFinished——在數(shù)據(jù)組顯示結(jié)束時(shí);
    • paPageFinished——顯示頁面時(shí);
    • paReportFinished——顯示報(bào)告時(shí);
    • paReportPageFinished——顯示報(bào)告模板頁面時(shí)。

    例如,您選擇在數(shù)據(jù)組結(jié)束時(shí)生成總數(shù)。為了發(fā)現(xiàn)這個(gè)數(shù)據(jù)組已經(jīng)結(jié)束,F(xiàn)R要求一個(gè)小的數(shù)據(jù)組隱藏單元格。如果所選事件是paReportFinished,則頁面頁腳是必需的。

    現(xiàn)在讓我們在實(shí)踐中考慮以上所有內(nèi)容。我們需要?jiǎng)?chuàng)建一個(gè)包含兩個(gè)會話的報(bào)告。一個(gè)嵌入另一個(gè)。從演示數(shù)據(jù)庫中獲取銷售表。

    TotalsInHeader1

    您可以從模板中看到,我們創(chuàng)建了一個(gè)公司名稱的數(shù)據(jù)組。然后我們添加了訂單號的組。最后,在“Data” band中,顯示了訂單中的信息。每組的頁腳總數(shù)為:

    [SUM (< Sales. "Qty"> * < Sales. "List Price">, MasterData1)]

    摘要顯示在報(bào)告匯總區(qū)中。

    我們的目標(biāo)是將結(jié)果帶入標(biāo)題欄。我們從第一組開始。在右側(cè)添加文本字段:“Total group sum: [SUM (< Sales." Qty "> * < Sales." List Price ">, MasterData1)] $”。在這個(gè)文本框的屬性中,我們找到Processing并設(shè)置paGroupFinished的值:

    TotalsInHeader2

    運(yùn)行報(bào)告:

    TotalsInHeader3

    現(xiàn)在讓我們將兩個(gè)文本字段添加到第二組。我們會把它們一個(gè)接一個(gè)放在右邊。對于第一組,該值為“[SUM (< Sales." Qty "> * < Sales." List Price ">, MasterData1)] $”。對于第二組,是“from [SUM (< Sales." Qty "> * < Sales." List Price ">, MasterData1)] $”。

    現(xiàn)在為第一組設(shè)置屬性:GroupLevel - 0,ProcessAt - paGroupFinished。

    對于第二組我們設(shè)置相同的屬性:GroupLevel - 1,ProcessAt - paGroupFinished。

    因此,您將首先推導(dǎo)出當(dāng)前數(shù)據(jù)組的結(jié)果,然后推導(dǎo)出該級別以上的數(shù)據(jù)組。我們來看看它的樣子:

    TotalsInHeader4

    它仍然顯示整個(gè)報(bào)告的總計(jì)。添加一個(gè)文本字段到報(bào)表頭:Total sum: [SUM (< Sales. "Qty"> * < Sales. "List Price">, MasterData1)] $。我們?yōu)樗O(shè)置屬性:GroupLevel - 0,ProcessAt - paReportPageFinished。運(yùn)行報(bào)告:

    TotalsInHeader5

    在每種情況下,我們都顯示一個(gè)具有相同聚合表達(dá)式的字段,但我們?yōu)閿?shù)據(jù)組和報(bào)告標(biāo)題獲得了不同的值。這是關(guān)于組建總時(shí)間的一切。在某個(gè)時(shí)間點(diǎn),聚合函數(shù)具有不同的值。這就是為什么正確設(shè)置ProcessAt參數(shù)很重要。


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


    5月促銷活動(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); })();