Tablix:每个页面上的重复标题行不起作用 - Report Builder 3.0

Ayr*_*nna 156 sql-server reporting-services ssrs-tablix reportbuilder3.0

我有一个包含许多行的Tablix,这些行跨越多个页面.我已经在每个页面上设置了Tablix属性重复标题行,但这不起作用.我在某处读到这是Report Builder 3.0中的已知错误.这是真的?如果没有,还有什么需要做的吗?

Sta*_*cia 405

这取决于您使用的Tablix结构.例如,在表中,您没有列组,因此Reporting Services无法识别哪些文本框是列标题,并且将RepeatColumnHeaders属性设置为True不起作用.

相反,你需要:

  1. 在"分组"窗格中打开"高级模式".(单击"列组"右侧的箭头,然后选择"高级模式".)
    • 截图
  2. 在"行组"区域(而不是"列组")中,单击"静态"组,该组突出显示Tablix中的相应文本框.单击每个静态组,直到它突出显示最左侧的列标题.这通常是列出的第一个静态组.
  3. 在"属性"窗口中,将RepeatOnNewPage属性设置为True.
    • 截图
  4. 确保该KeepWithGroup属性设置为After.

KeepWithGroup属性指定静态成员需要粘贴的组.如果设置为After则静态成员在其之后或之下粘贴组,充当组头.如果设置为Before,则静态成员在组之前或之上与组一起作为组页脚.如果设置为None,Reporting Services将决定将静态成员放在何处.

现在,当您查看报表时,列标题会在Tablix的每个页面上重复.

视频显示了如何将其设置为所描述的答案.

  • 我想出了我的问题.Stacia你的答案是绝对正确的,只是一个棘手的事情才能做到正确.请注意,Stacia说在设置RepeatOnNewPage属性时更改ROW Groups区域.关于此解决方案的其他所有内容都会处理列,但您需要选择行组(在左侧),而不是列组(在右侧),即使您首先单击列中的下拉列表也是如此.谢谢Stacia,非常棒. (22认同)
  • KeepWithGroup = After对我来说很关键.像太多微软的东西一样,这是使功能运行所需的一个非显而易见的技巧.谢谢! (8认同)
  • +1 - 我刚刚在互联网上阅读了十几篇有关此内容的演练,这是解决问题最直接的方法 - 你也解释了为什么选项很重要,这太棒了.谢谢! (5认同)
  • Stacia,当我选择 KeepWithGroup 并尝试保存时,我得到“Tablix 'DetailTablix' 的 TablixMember 无效。TablixColumnHierarchy 中的所有 TablixMember 元素必须将 RepeatOnNewPage 属性设置为 false。”。有任何想法吗? (2认同)
  • 该视频演示了如何完全按照所描述的答案进行设置:http://www.youtube.com/watch?v=WAO819-gkKw (2认同)

小智 16

我有2.0并发现以上帮助; 但是,由于某种原因,静态的选择并未突出显示单元格.我按照以下步骤操作:

  1. 在列组下,选择高级,将显示静态
  2. 单击行组中显示的静态
  3. 将KeepWithGroup设置为After并将RepeatOnNewPage设置为true

现在,您的列标题应在每个页面上重复.


小智 9

我如何解决这个问题是我手动更改后面的代码(从菜单查看/代码).下面的部分应该具有<TablixMember> </TablixMember>与Tablix中的行数一样多的对数.在我的情况下,我有多个对,而<TablixMember> </TablixMember>不是Tablix中的行数.此外,如果转到"高级模式"("列组"右侧),"行组"后面的静态行数应等于Tablix中的行数.使其平等的方法是改变代码.

<TablixRowHierarchy>
      <TablixMembers>
        <TablixMember>
          <KeepWithGroup>After</KeepWithGroup>
          <RepeatOnNewPage>true</RepeatOnNewPage>
        </TablixMember>
        <TablixMember>
          <Group Name="Detail" />
        </TablixMember>
      </TablixMembers>
    </TablixRowHierarchy>
Run Code Online (Sandbox Code Playgroud)


小智 8

Advanced Mode在"分组"窗格中打开.(单击"列组"右侧的箭头,然后选择"高级模式".)

在"行组"区域(而不是"列组")中,单击"静态"组,该组突出显示Tablix中的相应文本框.

单击每个静态组,直到它突出显示最左侧的列标题.这通常是列出的第一个静态组.

在属性网格中:

  • 设置KeepWithGroupAfter
  • 设置RepeatOnNewPageTrue用于重复报头
  • 设置FixedDataTrue保持可见标题


小智 5

如果您仍然遇到此问题,另一种方法是通过执行以下操作:

  • 清除所有表头文本,将其留空.
  • 在报告"标题"部分中,在矩形内添加文本框,每个文本框将表示该表的列标题.
  • 由于此矩形位于Reports Header部分,它将显示在所有报告页面上.

谢谢,苏菲安.