翻譯|使用教程|編輯:李顯亮|2020-06-22 10:24:27.940|閱讀 1361 次
概述:數(shù)據(jù)源并不總是包含數(shù)據(jù)。而且,當(dāng)生成報(bào)告時(shí),即使數(shù)據(jù)源為空,也將至少以標(biāo)題顯示頁(yè)面。本文的主題與任何報(bào)告生成器都相關(guān),因此讓我們看看在FastReport .Net中如何隱藏沒(méi)有數(shù)據(jù)的報(bào)表頁(yè)面。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
相關(guān)鏈接:
報(bào)表生成器FastReport .NET是適用于.NET Core 3,ASP.NET,MVC和Windows窗體的全功能報(bào)告庫(kù)。使用FastReport .NET,您可以創(chuàng)建獨(dú)立于應(yīng)用程序的.NET報(bào)告。
近日,F(xiàn)astReport .Net升級(jí)到v2020.3版,在此版本中,添加了瑞士QR碼,允許配置打印機(jī)托盤(pán)以打印報(bào)告的最后一頁(yè),不再支持.NET Framework 2.0,同時(shí)修復(fù)了多個(gè)Bug問(wèn)題,感興趣的朋友可點(diǎn)擊下方按鈕下載最新版。
數(shù)據(jù)源并不總是包含數(shù)據(jù)。而且,當(dāng)生成報(bào)告時(shí),即使數(shù)據(jù)源為空,也將至少以標(biāo)題顯示頁(yè)面
例如,報(bào)表生成器Stimulsoft Reports開(kāi)發(fā)人員建議使用條件工具隱藏頁(yè)面。設(shè)置條件以檢查源中的記錄數(shù),可以指定頁(yè)面顯示組件選項(xiàng)。一個(gè)好的解決方案,足夠簡(jiǎn)單。
本文的主題與任何報(bào)告生成器都相關(guān),因此讓我們看看在FastReport.Net中執(zhí)行此操作的方法。
數(shù)據(jù)彎曲具有PrintIfDatasourceEmpty屬性,默認(rèn)情況下為false。這意味著如果沒(méi)有數(shù)據(jù),則不會(huì)顯示該波段。但是該頁(yè)面仍然顯示給用戶(hù),因?yàn)樗瑪?shù)據(jù)標(biāo)題或頁(yè)面標(biāo)題。因此,如果帶區(qū)為空,我們需要編寫(xiě)一個(gè)簡(jiǎn)單的腳本來(lái)隱藏頁(yè)面。
有兩種選擇:
①檢查數(shù)據(jù)帶中的空白數(shù)據(jù)源。為此,請(qǐng)使用報(bào)表的StartPage事件頁(yè):
private void Page2_StartPage(object sender, EventArgs e) { if (Data2.DataSource.RowCount == 0) Page2.Visible = false; }
但是在這種情況下,我們需要為報(bào)表啟用DoublePass選項(xiàng)。事實(shí)是,我們只能在頁(yè)面形成階段用數(shù)據(jù)檢查帶的無(wú)效性,我們需要將其隱藏。DoublePass選項(xiàng)在生成報(bào)告時(shí)包括兩次通過(guò)。在第二遍中,已經(jīng)知道該區(qū)域中的數(shù)據(jù)源為空,并且在構(gòu)建頁(yè)面之前將其隱藏。
②不需要報(bào)表的往返。我們只需要為事件StartReport報(bào)表對(duì)象添加一個(gè)處理程序:
private void _StartReport(object sender, EventArgs e) { DataSourceBase ds = Report.GetDataSource("Category"); if (!ds.HasMoreRows) { Page2.Visible = false; } }
在這種情況下,我們直接檢查報(bào)表的數(shù)據(jù)源,表類(lèi)別。然后,我們可以在開(kāi)始創(chuàng)建報(bào)告頁(yè)面之前查明源是否為空。
還想要更多嗎?您可以點(diǎn)擊閱讀【FastReport 報(bào)表2019最新資源盤(pán)點(diǎn)】,查找需要的教程資源。如果您有任何疑問(wèn)或需求,請(qǐng)隨時(shí)加入FastReport技術(shù)交流群(783996712),我們很高興為您提供查詢(xún)和咨詢(xún)。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn