logo FastReport.Net教程2020(持续更新中) 我也要发布文档

想要在FastReport .Net中隐藏没有数据的报表页面?教你两种方法


报表生成器FastReport .NET是适用于.NET Core 3,ASP.NET,MVC和Windows窗体的全功能报告库。使用FastReport .NET,您可以创建独立于应用程序的.NET报告。

近日,FastReport .Net升级到v2020.3版,在此版本中,添加了瑞士QR码,允许配置打印机托盘以打印报告的最后一页,不再支持.NET Framework 2.0,同时修复了多个Bug问题,感兴趣的朋友可点击下方按钮下载最新版。

点击下载最新版FastReport .Net

数据源并不总是包含数据。而且,当生成报告时,即使数据源为空,也将至少以标题显示页面

例如,报表生成器Stimulsoft Reports开发人员建议使用条件工具隐藏页面。设置条件以检查源中的记录数,可以指定页面显示组件选项。一个好的解决方案,足够简单。

本文的主题与任何报告生成器都相关,因此让我们看看在FastReport.Net中执行此操作的方法。

数据弯曲具有PrintIfDatasourceEmpty属性,默认情况下为false。这意味着如果没有数据,则不会显示该波段。但是该页面仍然显示给用户,因为它包含数据标题或页面标题。因此,如果带区为空,我们需要编写一个简单的脚本来隐藏页面。

有两种选择:

①检查数据带中的空白数据源。为此,请使用报表的StartPage事件页:

想要在FastReport .Net中隐藏没有数据的报表页面?教你两种方法

private void Page2_StartPage(object sender, EventArgs e)
 {
 if (Data2.DataSource.RowCount == 0)
 Page2.Visible = false;
 }

但是在这种情况下,我们需要为报表启用DoublePass选项。事实是,我们只能在页面形成阶段用数据检查带的无效性,我们需要将其隐藏。DoublePass选项在生成报告时包括两次通过。在第二遍中,已经知道该区域中的数据源为空,并且在构建页面之前将其隐藏。

②不需要报表的往返。我们只需要为事件StartReport报表对象添加一个处理程序:

想要在FastReport .Net中隐藏没有数据的报表页面?教你两种方法

 private void _StartReport(object sender, EventArgs e)
 {
 DataSourceBase ds = Report.GetDataSource("Category");
 if (!ds.HasMoreRows)
 {
 Page2.Visible = false;
 }
 }

在这种情况下,我们直接检查报表的数据源,表类别。然后,我们可以在开始创建报告页面之前查明源是否为空。


惊喜618!Fastreport.NET在线购买价更低!赶紧加入购物清单吧!

还想要更多吗?您可以点击阅读【FastReport 报表2019最新资源盘点】查找需要的教程资源。如果您有任何疑问或需求,请随时加入FastReport技术交流群(783996712),我们很高兴为您提供查询和咨询


在线咨询
联系我们

客服热线
023-68661681

QQ客服

意见反馈


添加微信获专业服务

TOP