1
votes

I have an SSRS Report designed in VS 2013 Shell that has 2 tables inside a list.

Table 1 has a row for each data grouping and it hides all the rows except for the row(s) that pertain to that data group. This first table acts as a header for my 2nd table.

After the second table is a small gap inside the list that creates visual white space between the next iteration of my header and data tables.

In VS Preview the look of the report is exactly as designed. In both IE and Chrome the report sometimes ignores the whitespace. Below are screenshots of how it looks in the Design tab, Preview tab and in a browser:

DesignImg

The screenshot above shows the list with the 2 tables on top of each other. The first table contains on the headers. The second starts right after the 'Next Quarter...' header. Following the second table is a gap slightly larger than .25" inside the list.

PreviewImg

You can see in the above image in Preview that the gap is visible between the table and the next header

ChromeImg In the browser example above the gap is missing before the 'Proactive' header but it is visible before the 'Proposed Visit' header.

This is the code that controls the Row Visibility:

                          <TablixRowHierarchy>
                            <TablixMembers>
                              <TablixMember>
                                <Visibility>
                                  <Hidden>=IIF(Fields!SuperGroupNum.Value = 1, False, True)</Hidden>
                                </Visibility>
                              </TablixMember>
                              <TablixMember>
                                <Visibility>
                                  <Hidden>=IIF(Fields!SuperGroupNum.Value = 2, False, True)</Hidden>
                                </Visibility>
                              </TablixMember>
                              <TablixMember>
                                <Visibility>
                                  <Hidden>=IIF(Fields!SuperGroupNum.Value = 3, False, True)</Hidden>
                                </Visibility>
                              </TablixMember>
                              <TablixMember>
                                <Visibility>
                                  <Hidden>=IIF(Fields!SuperGroupNum.Value = 4, False, True)</Hidden>
                                </Visibility>
                              </TablixMember>
                              <TablixMember>
                                <Visibility>
                                  <Hidden>=IIF(Fields!SuperGroupNum.Value = 5, False, True)</Hidden>
                                </Visibility>
                              </TablixMember>
                              <TablixMember>
                                <Visibility>
                                  <Hidden>=IIF(Fields!SuperGroupNum.Value = 6, False, True)</Hidden>
                                </Visibility>
                              </TablixMember>
                              <TablixMember>
                                <Visibility>
                                  <Hidden>=IIF(Fields!SuperGroupNum.Value = 7, False, True)</Hidden>
                                </Visibility>
                              </TablixMember>
                              <TablixMember>
                                <Visibility>
                                  <Hidden>=IIF(Fields!SuperGroupNum.Value = 7, False, True)</Hidden>
                                </Visibility>
                              </TablixMember>
                              <TablixMember>
                                <Visibility>
                                  <Hidden>=IIF(Fields!SuperGroupNum.Value = 8, False, True)</Hidden>
                                </Visibility>
                              </TablixMember>
                            </TablixMembers>
                          </TablixRowHierarchy>
1

1 Answers

2
votes

This issue is likely coming down to HTML interpretation. In many cases, the browser will ignore table elements that are empty.

The easy answer, to add an empty space in that element, won't work either because some browsers will ignore spaces without any other content as well. So you can do one of these:

Add a number 1 and make the font color for this character white. This will force the blank row to render and 1 won't be visible, but it will show up if you highlight the row or export.

The better solution: Add an expression to the empty row. Go to expression properties by right clicking it. On the first page, under markup type, click the HTML - Interpret HTML tags as styles radio button. Click the fX button next to value put this in:

="&nbsp;"

This will put a space in the row that the browser won't ignore, and it should be forced to render forever more.