logo
small logo
  • Products
  • Buy
  • Support
  • Articles
  • Customer panel Support
    • en
    • ru
    • pt
    • es
    • de
    • pl
    • JP
    • ZH
  • Home
  • /
  • Articles
  • /
  • How to hide a report page if you don't have data on it
  • Report generators family FastReport brief review

    March 23, 2020

    Without reporting it is impossible to carry on business in any sphere of life. Bureaucracy

    read more
  • How to use Online Designer in ASP .Net Core

    January 17, 2018

    One of the novelties by FastReport .Net 2018 was the adaptation of OnlineDesigner to the

    read more
  • How to use WebReport with ASP .Net Web Core application

    January 17, 2018

    Recently FastReport introduced a new library under the .Net - FastReport Core platform. This is

    read more
  • How to connect to SQLCe

    November 11, 2019

    Microsoft SQL Server Compact Edition is a simple local relational database that doesn't require installation,

    read more
  • How to connect to the Sybase SQL Anywhere database

    February 29, 2020

    Sybase SQL Anywhere database has a number of very useful features that make it very

    read more

How to hide a report page if you don't have data on it

June 18, 2020

Data sources do not always contain data. And when you build reports, even if the data source is empty, the page will be created, at least with headlines.

On report generator forums, you can find questions from users about how to hide blank pages:

"Please tell me how to skip (not print) a blank page if DataBand on it contains no data."

For example, the report generator Stimulsoft Reports developers propose to hide the page by using the tool Conditions. Setting a condition to check the number of records in the source, you can specify the page display component option. A good solution, simple enough.

The topic of the article is relevant to any report generator, so let's look at the way to do this in FastReport.Net

Data Bend has PrintIfDatasourceEmpty property which is false by default. This means that the band will not be displayed if the data is not there. But still the page is displayed to the user as it contains the data headers, or page title. Therefore, we need to write a simple script that will hide the page, if the band with this empty.

There are two options:

1)      Check the void data source in the band with the data. To do this, use the StartPage event page of the report:

 Create event StartPage for the Report page

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

 But in this case, you need to enable the DoublePass option for the report. The fact is that we can check the void of the band with data only at the stage of page formation, and we need to hide it. The DoublePass option includes a double pass when building a report. During the second pass, it will already be known that the data source in the band is empty and the page will be hidden before it is built.

2)      The second method does not require a round trip of the report. We just need to add a handler for the event StartReport report object:

Create event StartReport for the Report object

1
2
3
4
5
6
7
8
 private void _StartReport(object sender, EventArgs e)
 {
 DataSourceBase ds = Report.GetDataSource("Category");
 if (!ds.HasMoreRows)
 {
 Page2.Visible = false;
 }
 }

 In this case we check directly to the data source of the report, table Category. And then we can find out whether the source is empty before the start of the report creation page.

 Thus, we have considered a way to hide the page when there is no data in the source.

about product download buy
avatar
Dmitriy Fedyashov
Head of QA
.NET FastReport

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Buy
  • Download
  • Documentation
  • Testimonials
  • How to uninstall
  • Ticket system
  • FAQ
  • Tutorial Video
  • Forum
  • Articles
  • Our News
  • Press about us
  • Resellers
  • Our team
  • Contact us

© 1998-2021 by Fast Reports Inc.

  • Privacy Policy