【发布时间】:2012-07-02 09:50:15
【问题描述】:
我有一个 tablix,其中有很多行跨越多个页面。我已经在每一页上设置了 Tablix 属性重复标题行,但这不起作用。我在某处读到这是 Report Builder 3.0 中的一个已知错误。这是真的?如果没有,是否还有其他需要做的事情?
【问题讨论】:
标签: sql-server reporting-services ssrs-tablix reportbuilder3.0
我有一个 tablix,其中有很多行跨越多个页面。我已经在每一页上设置了 Tablix 属性重复标题行,但这不起作用。我在某处读到这是 Report Builder 3.0 中的一个已知错误。这是真的?如果没有,是否还有其他需要做的事情?
【问题讨论】:
标签: sql-server reporting-services ssrs-tablix reportbuilder3.0
如果您仍然遇到此问题,另一种方法是执行以下操作:
谢谢, 苏菲安。
【讨论】:
这取决于您使用的 tablix 结构。例如,在表格中,您没有列组,因此 Reporting Services 无法识别哪些文本框是列标题,并且将 RepeatColumnHeaders 属性设置为 True 不起作用。
相反,您需要:
RepeatOnNewPage 属性设置为True。
KeepWithGroup 属性设置为After。KeepWithGroup 属性指定静态成员需要坚持的组。如果设置为After,则静态成员将与组保持在其之后或下方,充当组头。如果设置为Before,则静态成员会粘在组之前或之上,充当组页脚。如果设置为 None,Reporting Services 将决定将静态成员放在何处。
现在,当您查看报告时,列标题会在 tablix 的每一页上重复。
This 视频展示了如何完全按照所描述的答案进行设置。
【讨论】:
对我有用的是从头开始创建一个新报告。
这已经完成并且新报告工作正常,我将比较 Visual Studio 中的 2 个 .rdl 文件。这些是 XML 格式,我希望快速 WindDiff 或其他东西能揭示问题所在。
初步查看显示两个文件之间有 700 行代码或更多的差异,两个文件中较大的一个是错误文件。粗略查看 TablixHeader 标记并没有发现任何明显的内容。
但在我的情况下,它是一个损坏的 .rdl 文件。这最初是从工作报告中复制的,因此在删除未重复使用的内容的过程中,这可能会损坏它。但是,在执行相同过程的其他报告中,当在“属性”中进行正确设置时,标题可能会重复。
希望这会有所帮助。如果您有一份复杂的报告,这不是快速解决方法,但它确实有效。
也许将已知的良好 XML 文件与您的错误文件进行比较会成为一个很好的论坛帖子。我会在最后尝试一下。
【讨论】:
我有 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。 (单击列组右侧的箭头并选择高级模式。)
在行组区域(不是列组)中,单击静态组,该组会突出显示 tablix 中的相应文本框。
单击每个静态组,直到它突出显示最左侧的列标题。这通常是列出的第一个静态组。
在属性网格中:
KeepWithGroup 设置为After
RepeatOnNewPage 设置为True 用于重复标题FixedData 设置为True 以保持标题可见【讨论】: