17
votes

I have a line and a table in my report that I want to hide if my dataset has no rows in it.

I tried using the expression =CountRows("MyDataSet") > 0 in the initial visibility but this always evaluates to false, even when there are rows in the dataset.

I suspect initial visibility is run before the data is loaded into the dataset.

How can I set the visibility of my table and other elements (a line), based on if the dataset has any rows or not?

3

3 Answers

30
votes

This appears to work in 2008 - hopefully it will help ...

I created a DataSet with one record in it. I then created a text box and put your code in the 'Hidden' property in the Visibility Properties section.

I then changed it to

=CountRows("MyDataSet") < 1

Which will return TRUE when there are no rows, which will set the control to hidden.

12
votes

Use =IIF(CountRows("DataSet1") > 0, false, true) inside the expression of visibility property of the control.

0
votes

Worked totally

=IIF(CountRows("OpenItem_DS") < 1,"", "Wk No")