我有一个 Tablix,其中有很多行跨越多个页面。我已设置 Tablix 属性在每个页面上重复标题行,但这不起作用。我在某处读到这是 Report Builder 中的一个已知错误(我使用的是 v3.0)。这是真的吗?如果没有,还有什么需要做的吗?
这取决于您使用的 Tablix 结构。例如,在表中,您没有列组,因此 Reporting Services 无法识别哪些文本框是列标题,并且将 RepeatColumnHeaders 属性设置为 True 不起作用。
相反,您需要:
RepeatOnNewPage
属性设置为 True。
KeepWithGroup
属性设置为 After
。
KeepWithGroup
属性指定静态成员需要粘贴到哪个组。如果设置为 After
,则静态成员将与组粘在其后面或下方,充当组标题。如果设置为 Before
,则静态成员会粘在组之前或上方,充当组页脚。如果设置为 None
,Reporting Services 将决定静态成员的放置位置。
现在,当您查看报告时,列标题会在 Tablix 的每一页上重复。
这个视频展示了如何完全按照答案描述进行设置。
我有 2.0,发现上面的内容有帮助;然而,由于某种原因,选择静态并没有突出显示该单元格。 我按照以下步骤操作:
现在您的列标题应该在每页上重复。
我如何解决这个问题是我手动更改了后面的代码(从菜单“视图/代码”)。 下面的部分应具有与 tablix 中的行数一样多的对
<TablixMember> </TablixMember>
。就我而言,我的对<TablixMember> </TablixMember>
比 tablix 中的行数还要多。此外,如果您进入“高级模式”(“列组”右侧),“行组”后面的静态行数应等于 tablix 中的行数。使其相等的方法是更改代码。
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<KeepWithGroup>After</KeepWithGroup>
<RepeatOnNewPage>true</RepeatOnNewPage>
</TablixMember>
<TablixMember>
<Group Name="Detail" />
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
在分组窗格中打开
Advanced Mode
。 (单击列组右侧的箭头并选择高级模式。)
在“行组”区域(不是“列组”)中,单击“静态组”,该组会突出显示选项卡中相应的文本框。
单击每个静态组,直到突出显示最左侧的列标题。这通常是列出的第一个静态组。
在属性网格中:
KeepWithGroup
设置为 After
RepeatOnNewPage
设置为 True
以重复标题FixedData
设置为 True
以保持标题可见如果您仍然遇到该问题,实现此目的的另一种方法是执行以下操作:
谢谢, 苏菲安.
对我有用的是从头开始创建一份新报告。
此操作完成并且新报告正常工作,我将在 Visual Studio 中比较 2 个 .rdl 文件。 这些都是 XML 格式,我希望快速 WindDiff 或其他东西可以揭示问题所在。
初步查看,两个文件之间有 700 行代码或更多差异,其中较大的一个是有问题的文件。 粗略地查看 TablixHeader 标签并没有发现任何明显的东西。
但就我而言,这是一个损坏的 .rdl 文件。 这最初是从工作报告中复制的,因此在删除未重复使用的内容的过程中,这可能会损坏它。 但是,在完成相同过程的其他报告中,当在“属性”中进行正确的设置时,标题可能会重复。
希望这有帮助。 如果您有一份复杂的报告,这不是快速解决方案,但它确实有效。
也许将已知良好的 XML 文件与您端的错误文件进行比较会成为一篇很好的论坛帖子。 我会尽力做到这一点。