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