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




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




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