SSRS List/Tablix 行为忽略白色 space

SSRS List/Tablix behavior ignoring white space

我有一个在 VS 2013 Shell 中设计的 SSRS 报告,列表中有 2 个 table。

Table 1 每个数据分组都有一行,它隐藏了除属于该数据组的行之外的所有行。第一个 table 作为我第二个 table 的 header。

在第二个 table 之后是列表中的一个小间隙,它在我的 header 和数据 table 的下一次迭代之间创建视觉白色 space。

在 VS 预览中,报表的外观与设计完全一样。在 IE 和 Chrome 中,报告有时会忽略白色 space。下面是它在“设计”选项卡、“预览”选项卡和浏览器中的外观截图:

上面的屏幕截图显示了 2 个 table 彼此重叠的列表。第一个 table 包含在 header 上。第二个在 'Next Quarter...' header 之后立即开始。在第二个 table 之后是列表中略大于 .25" 的间隙。

您可以在预览的上图中看到 table 和下一个 header

之间的间隙可见

在上面的浏览器示例中,间隙在 'Proactive' header 之前缺失,但在 'Proposed Visit' header.

之前可见

这是控制行可见性的代码:

                          <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>

这个问题可能归结为 HTML 解释。在许多情况下,浏览器会忽略 table 个空元素。

最简单的答案是在该元素中添加一个空的 space,这也行不通,因为某些浏览器也会忽略没有任何其他内容的 space。所以您可以执行以下操作之一:

添加数字 1 并将此字符的字体颜色设置为白色。这将强制呈现空白行并且 1 将不可见,但如果您突出显示该行或导出,它将显示。

更好的解决方案:在空行中添加一个表达式。通过右键单击它转到表达式属性。在第一页的标记类型下,单击 HTML - 将 HTML 标签解释为样式单选按钮。单击值旁边的 fX 按钮,将其放入:

="&nbsp;"

这将在浏览器不会忽略的行中放置一个 space,并且应该强制永远呈现。