FastReport中国社区FastReport联系电话 联系电话:023-68661681

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

来源:   发布时间:2020-06-22   浏览:次

报表生成器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;
 }
 }

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


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

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

本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/2841.html

联系我们
  • 重庆总部 023-68661681
购买
  • sales@evget.com
合作
  • business@evget.com


扫码咨询
电话咨询
023-68661681
返回
顶部