Tablix:在每个页面上重复标题行不起作用

问题描述 投票:0回答:6

我有一个 Tablix,其中有很多行跨越多个页面。我已设置 Tablix 属性在每个页面上重复标题行,但这不起作用。我在某处读到这是 Report Builder 中的一个已知错误(我使用的是 v3.0)。这是真的吗?如果没有,还有什么需要做的吗?

sql-server reporting-services ssrs-tablix reportbuilder
6个回答
493
投票

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

相反,您需要:

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

KeepWithGroup
属性指定静态成员需要粘贴到哪个组。如果设置为
After
,则静态成员将与组粘在其后面或下方,充当组标题。如果设置为
Before
,则静态成员会粘在组之前或上方,充当组页脚。如果设置为
None
,Reporting Services 将决定静态成员的放置位置。

现在,当您查看报告时,列标题会在 Tablix 的每一页上重复。

这个视频展示了如何完全按照答案描述进行设置。


22
投票

我有 2.0,发现上面的内容有帮助;然而,由于某种原因,选择静态并没有突出显示该单元格。 我按照以下步骤操作:

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

现在您的列标题应该在每页上重复。


13
投票

我如何解决这个问题是我手动更改了后面的代码(从菜单“视图/代码”)。 下面的部分应具有与 tablix 中的行数一样多的对

<TablixMember> </TablixMember>
。就我而言,我的对
<TablixMember> </TablixMember>
比 tablix 中的行数还要多。此外,如果您进入“高级模式”(“列组”右侧),“行组”后面的静态行数应等于 tablix 中的行数。使其相等的方法是更改代码。

<TablixRowHierarchy>
      <TablixMembers>
        <TablixMember>
          <KeepWithGroup>After</KeepWithGroup>
          <RepeatOnNewPage>true</RepeatOnNewPage>
        </TablixMember>
        <TablixMember>
          <Group Name="Detail" />
        </TablixMember>
      </TablixMembers>
    </TablixRowHierarchy>

11
投票

在分组窗格中打开

Advanced Mode
。 (单击列组右侧的箭头并选择高级模式。)

在“行组”区域(不是“列组”)中,单击“静态组”,该组会突出显示选项卡中相应的文本框。

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

在属性网格中:

  • KeepWithGroup
    设置为
    After
  • RepeatOnNewPage
    设置为
    True
    以重复标题
  • FixedData
    设置为
    True
    以保持标题可见

5
投票

如果您仍然遇到该问题,实现此目的的另一种方法是执行以下操作:

  • 清除所有表格标题文本,将其留空。
  • 在报告“标题”部分在矩形内添加文本框, 每个文本框将代表表格的列标题。
  • 由于此矩形位于报告标题部分,因此它将显示 在所有报告页面上。

谢谢, 苏菲安.


2
投票

对我有用的是从头开始创建一份新报告。

此操作完成并且新报告正常工作,我将在 Visual Studio 中比较 2 个 .rdl 文件。 这些都是 XML 格式,我希望快速 WindDiff 或其他东西可以揭示问题所在。

初步查看,两个文件之间有 700 行代码或更多差异,其中较大的一个是有问题的文件。 粗略地查看 TablixHeader 标签并没有发现任何明显的东西。

但就我而言,这是一个损坏的 .rdl 文件。 这最初是从工作报告中复制的,因此在删除未重复使用的内容的过程中,这可能会损坏它。 但是,在完成相同过程的其他报告中,当在“属性”中进行正确的设置时,标题可能会重复。

希望这有帮助。 如果您有一份复杂的报告,这不是快速解决方案,但它确实有效。

也许将已知良好的 XML 文件与您端的错误文件进行比较会成为一篇很好的论坛帖子。 我会尽力做到这一点。

© www.soinside.com 2019 - 2024. All rights reserved.