Reporting services 在SQL Server Reporting Services中,如何在每个组之后划线?
下面是我创建的报告。我想在每组后面画一条线,如图中红线所示。Reporting services 在SQL Server Reporting Services中,如何在每个组之后划线?,reporting-services,border,presentation,Reporting Services,Border,Presentation,下面是我创建的报告。我想在每组后面画一条线,如图中红线所示。 尝试干预文本框属性>边框样式表达式。但一旦我关闭并重新打开它,这种情况就不会持续。 如果我为整个组设置边界,则该行将对组中我不想要的每一行重复 有什么帮助吗 选择整个详图行,并将此表达式添加到BorderStyle Top属性: =IIF((Previous(Fields!ProductionCountry.Value) <> Fields!ProductionCountry.Value) OR (Previou
尝试干预文本框属性>边框样式表达式。但一旦我关闭并重新打开它,这种情况就不会持续。
如果我为整个组设置边界,则该行将对组中我不想要的每一行重复 有什么帮助吗
选择整个详图行,并将此表达式添加到BorderStyle Top属性:
=IIF((Previous(Fields!ProductionCountry.Value) <> Fields!ProductionCountry.Value)
OR (Previous(Fields!IndustryName.Value) <> Fields!IndustryName.Value)
OR (Previous(Fields!ProductGroup.Value) <> Fields!ProductGroup.Value),
"Solid",
"None")
=IIF((先前的(字段!ProductionCountry.Value)字段!ProductionCountry.Value)
或(以前的(字段!IndustryName.Value)字段!IndustryName.Value)
或(先前的(字段!ProductGroup.Value)字段!ProductGroup.Value),
“固体”,
“无”)
属性
复选框,以便显示属性窗口ProductionCountry
选择整个组行。应显示该行的属性边框
->边框样式
->顶部
。该值很可能为空=IIF(Fields!ProductionCountry.Value = Previous(Fields!ProductionCountry.Value) OR Fields!ProductionCountry.Value = First(Fields!ProductionCountry.Value, "mydataset"),"None","Solid")
更改上面的mydataset
值以匹配报表的数据集名称
注意:
=IIF(Fields!ProductionCountry.Value = Previous(Fields!ProductionCountry.Value) OR Fields!ProductionCountry.Value = First(Fields!ProductionCountry.Value, "mydataset"),"None","Solid")
如果当前行与上一行属于同一组,或
当前组行是数据集的第一行,将border设置为none,将
边界到实体
为了改进@niktrs的回答,我建议:
=Iif(Fields!ProductionCountry.Value = Previous(Fields!ProductionCountry.Value) OR IsNothing(Previous(Fields!ProductionCountry.Value)),"None","Solid")
这样做的好处是,即使显示的第一个组不是数据集中的第一个组,例如排序或筛选已到位,也不会在初始组行上添加行。我发现真正容易做的是定义组的上边框。这样,每个新组在前一组的最后一行和新组的第一行之间添加一个边框。它还将在标题后添加边框 此解决方案不会在最后一行的末尾绘制边框。如果您也需要该边框,可以为包含组的tablix定义底部边框
=Iif(Fields!ProductionCountry.Value ="","None","Solid")
还可以在上述表达式中更改边框默认值“无左实心右实心底部无顶部”。
并对矩形属性更改bootom顺序
我试着这样处理顶部边框,效果很好…在我的例子中,我有一个聚合值,所以我不能使用上一个函数,所以我硬编码了组中的第一个值,我知道这将是该组中的第一个值。然后在边框样式中,我使用了这个表达式
=iif(Fields!Group_Name.Value="Hard Corded(first value)",,"Black","LightGrey")
Top=iif(Fields!Group_Name.Value=“硬记录(第一个值)”、“实心”、“无”)
在边框颜色中也使用了此表达式
=iif(Fields!Group_Name.Value="Hard Corded(first value)",,"Black","LightGrey")
再次感谢你的时间,克里斯。非常感谢。如果在运行报告时您的条件格式不正确,请尝试查看以下帖子:表达式的惊人使用!我需要在组的实例之间看到一条线,但不是在最后一条上,所以我使用了你的表达式,只是想确定它不是最后一条。如果你不喜欢使用表达式,最好的答案是。