Wednesday, March 28, 2012

NoRows SubReport

Greetings,

I have a report which contains three subreports. Each subreport is contained within a rectangle in the main report so I can force a page break after each subreport. In each of the subreports, there is a graphic and a text box on one line, then another text box below those two items, then a table below all that. My problem is that if one of the subreports returns no data, it is resulting in a NoRows sort of situation and not even the graphic and the two text boxes are shown. I understand that you can set a NoRows message, but ideally, I want my NoRows message to be the graphic and the two text boxes, not a plain text message.

I'm not sure if this is even possible or at the very least if I could conditionally force a page break in my rectangles based on whether one of the subreports returns a NoRows situation.

Thanks In Advance

One thing that you can do is create a second dataset that always returns data. You can do this with a query like the following. This causes the SubReport to always report to the processing runtime that it contains data, so that it should always be processed and rendered.

Select 1 as DataValue

However, the problem with this is that the empty table will still contain the Table headers. So, you will have to make the table conditionally visible using an expression such as this.

=IsNothing(Fields!FieldName.Value)

You can pretty much use any field in the dataset to which the table is bound.

Adding the second dataset and adding the conditional visibility to the table should result in the subreport still being displayed, with the table hidden.

Ian|||

This works perfectly. Thank You. In fact, due to the NoRows parameter being set on the subreport, the table headers themselves are not shown, but instead the NoRows message is shown WITH the graphic and two text boxes. This is exactly the result I wanted.

No comments:

Post a Comment