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