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