s-s-rS 仅在每个新页面的第一行显示文本框值
Posted
技术标签:
【中文标题】s-s-rS 仅在每个新页面的第一行显示文本框值【英文标题】:s-s-rS show text box value only in first row of every new page 【发布时间】:2018-10-18 11:03:45 【问题描述】:我有一个s-s-rS
报告,我已按区域分组父组,然后按代码分组子组,并删除了这两个组的“仅列”。
我还设置了区域父组在每个组实例之间有分页符。
我希望代码在每一行中都可用。仅在每页的第一行加上区域名称。
第 1 页:
╔═════════════╤════════╤════════╗
║ Area & Code │ Street │ Orders ║
╠═════════════╪════════╪════════╣
║ 12 - US │ AZ │ 2 ║
╟─────────────┼────────┼────────╢
║ 13 │ AQ │ 1 ║
╟─────────────┼────────┼────────╢
║ 14 │ AW │ 5 ║
╟─────────────┼────────┼────────╢
║ 17 │ AE │ 6 ║
╚═════════════╧════════╧════════╝
第 2 页:
╔═════════════╤════════╤════════╗
║ Area & Code │ Street │ Orders ║
╠═════════════╪════════╪════════╣ // As you can see here US is missing.
║ 18 │ AG │ 10 ║ // I want US to appear here like 18 - US
╟─────────────┼────────┼────────╢
║ 19 │ BQ │ 13 ║
╟─────────────┼────────┼────────╢
║ 21 │ CW │ 53 ║
╟─────────────┼────────┼────────╢
║ 22 │ DE │ 72 ║
╚═════════════╧════════╧════════╝
第 3 页:
╔═════════════╤════════╤════════╗
║ Area & Code │ Street │ Orders ║
╠═════════════╪════════╪════════╣
║ 18 - AU │ AG │ 10 ║
╟─────────────┼────────┼────────╢
║ 19 │ BQ │ 13 ║
╟─────────────┼────────┼────────╢
║ 21 │ CW │ 53 ║
╟─────────────┼────────┼────────╢
║ 22 │ DE │ 72 ║
╚═════════════╧════════╧════════╝
第 2 页中的预期结果:美国应该在第一行输入代码。
╔═════════════╤════════╤════════╗
║ Area & Code │ Street │ Orders ║
╠═════════════╪════════╪════════╣
║ 23 - US │ AG │ 10 ║
╟─────────────┼────────┼────────╢
║ 24 │ BQ │ 13 ║
╟─────────────┼────────┼────────╢
║ 25 │ CW │ 53 ║
╟─────────────┼────────┼────────╢
║ 26 │ DE │ 72 ║
╚═════════════╧════════╧════════╝
下面的表达式在区域和代码文本框中,但它只在页面开头显示新区域。
=Fields!AreaCode.Value + IIF(Previous(Fields!AreaName.Value)=Fields!AreaName.Value,"",
IIF(Fields!AreaName.Value="","", "- "+ Fields!AreaName.Value))
我该如何解决这个问题,有没有办法确定当前页面是否并写在下面的表达式?
=Fields!AreaCode.Value + if current page is new page then show the Area Name in first row
of page else hide it ?
任何帮助将不胜感激。
【问题讨论】:
这有帮助吗? sqlchick.com/entries/2011/8/20/… @MiguelH,谢谢,我很快就看到了这篇文章,它对不同的值进行了分组,但是正如您在我的区域组中看到的那样,当组行填充下一页时,尽管我们的值相同应该在每一页的第一行看到。 只有当区域发生变化或区域可以跨页时才会出现分页符? @AlanSchofield ,两者,我的意思是当新区域发生变化时,它将显示在第一行,当同一区域在下一页有更多行时,然后在第二页的第一行中显示该区域名称。 【参考方案1】:早上好,
解决方案可能是在数据集中创建一个新列以使用主“mainGroup”。表达式应该类似于 =Ceiling(RowNumber(Nothing)/4)
(如果您希望每页 4 行,则为 4)
然后,在单元格中,使用如下表达式:
=IIF(RowNumber("mainGroup")=1, Fields!AreaCode.Value + "- "+ Fields!AreaName.Value, Fields!AreaName.Value)
最后,使用“mainGroup”对您的 s-s-rS 进行分页。
我没有尝试,但它应该可以工作。
【讨论】:
感谢您的想法,我应该在Tablix
还是dataset
中创建新列?如果每页的行数不受限制怎么办?
我也没有空间在Tablix
中添加新列以上是关于s-s-rS 仅在每个新页面的第一行显示文本框值的主要内容,如果未能解决你的问题,请参考以下文章