Nul*_*ead 21 border presentation reporting-services
以下是我创建的报告.我想在每组之后绘制一条线,如图中用红线所示.
尝试插入文本框属性>边框样式表达式.但是一旦我关闭并重新打开它,这就不会停留.
如果我为整个组设置边框,那么该行将重复我不想要的组中的每一行.
有帮助吗?

nik*_*trs 33
ViewMicrosoft SQL Server报表生成器中的选项卡.Properties选中该复选框,以便显示"属性"窗口.ProductionCountry选择整个组行.应该显示该行的属性.Border- > BorderStyle- > Top.该值很可能是空白的.Top字段中,为顶部边框输入下面的表达式.顶级字段值:
=IIF(Fields!ProductionCountry.Value = Previous(Fields!ProductionCountry.Value) OR Fields!ProductionCountry.Value = First(Fields!ProductionCountry.Value, "mydataset"),"None","Solid")
Run Code Online (Sandbox Code Playgroud)
更改mydataset上面的值以匹配报表的数据集名称.
注意:
如果当前行与前一行属于同一组,或者当前组行是数据集的第一个,则将border设置为none,将border设置为solid.
为了改进@niktrs的答案,我建议:
=Iif(Fields!ProductionCountry.Value = Previous(Fields!ProductionCountry.Value) OR IsNothing(Previous(Fields!ProductionCountry.Value)),"None","Solid")
Run Code Online (Sandbox Code Playgroud)
这样做的优点是不在初始组行上添加行,即使显示的第一个组不是数据集中的第一个组(例如,已进行排序或过滤的情况)。
选择整个详细信息行,然后将此表达式添加到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")
Run Code Online (Sandbox Code Playgroud)