如果沒有數(shù)據(jù),如何隱藏報(bào)告頁面
數(shù)據(jù)源并不總是包含數(shù)據(jù)。 并且,當(dāng)您生成報(bào)告時(shí),即使數(shù)據(jù)源為空,也將至少使用標(biāo)題創(chuàng)建頁面。
在報(bào)告生成器論壇上,您可以找到用戶有關(guān)如何隱藏空白頁面的問題:
“請告訴我如果DataBand上沒有數(shù)據(jù),如何跳過(不打?。┛瞻醉?。”
例如,報(bào)表生成器Stimulsoft Reports開發(fā)人員建議使用條件工具隱藏頁面。 設(shè)置條件以檢查源中的記錄數(shù),您可以指定頁面顯示組件選項(xiàng)。 一個(gè)好的解決方案,足夠簡單。
本文的主題與任何報(bào)告生成器都相關(guān),因此讓我們看看在FastReport.Net中執(zhí)行此操作的方式數(shù)據(jù)彎曲具有PrintIfDatasourceEmpty屬性,默認(rèn)情況下為false。 這意味著如果沒有數(shù)據(jù),則不會(huì)顯示該頻段。 但是該頁面仍然顯示給用戶,因?yàn)樗瑪?shù)據(jù)標(biāo)題或頁面標(biāo)題。 因此,如果帶區(qū)為空,我們需要編寫一個(gè)簡單的腳本來隱藏頁面。
有兩種選擇:
1)檢查數(shù)據(jù)帶中的空白數(shù)據(jù)源。 為此,請使用報(bào)表的StartPage事件頁:




但是在這種情況下,您需要為報(bào)表啟用DoublePass選項(xiàng)。 事實(shí)是,我們只能在頁面形成階段用數(shù)據(jù)檢查帶的無效性,我們需要將其隱藏。 DoublePass選項(xiàng)在生成報(bào)告時(shí)包括兩次通過。 在第二遍中,已經(jīng)知道該區(qū)域中的數(shù)據(jù)源為空,并且在構(gòu)建頁面之前將其隱藏。
2)第二種方法不需要報(bào)表的反復(fù)。 我們只需要為事件StartReport報(bào)告對象添加一個(gè)處理程序:




在這種情況下,我們直接檢查報(bào)表的數(shù)據(jù)源、表類別。 然后,我們可以在開始創(chuàng)建報(bào)告頁面之前查明源是否為空。
因此,我們考慮了一種在源中沒有數(shù)據(jù)時(shí)隱藏頁面的方法。
京ICP備09015132號-996 | 違法和不良信息舉報(bào)電話:4006561155
© Copyright 2000-2026 北京哲想軟件有限公司版權(quán)所有 | 地址:北京市海淀區(qū)西三環(huán)北路50號豪柏大廈C2座11層1105室
北京哲想軟件集團(tuán)旗下網(wǎng)站:哲想軟件 | 哲想動(dòng)畫