假定客户有这样一个需求,需要根据条件使得报表字段底色进行相应变化。
有以下三种解决方法:
1.根据数据行内容设置:
在字段属性当中找到BackgroundColor
输入判断式:=IIF(Fields!CUST_CODE.Value="XX",White,Blue) --//如果公司名称为XX,则底色为白,否则为黑
2.根据行号设置:
同样是修改字段表达式:=IIF(Runningvalue(Fields!Fiscal Month Name.Value, countdistinct, nothing), White, Blue) --//Runningvalue函数用以计算行号
3.使用报表函数:
点击报表属性
在代码标签页下编辑自定义函数
Public Shared ReverseLookup = True Public Function GetColor(ByVal currentValue As String, ByVal previosValue As String) As String If ReverseLookup = True If currentValue = previosValue Then GetColor = "White" Else GetColor = "LightBlue" ReverseLookup = False End If Else If currentValue = previosValue Then GetColor = "LightBlue" Else GetColor = "White" ReverseLookup = True End If End If End Function
并且将字段表达式改为 =Code.GetColor(Fields!GLOBAL_ID.Value, Previous(Fields!GLOBAL_ID.Value)) ,最终效果如下:
使用报表函数可以实现跨行比较,遇到不同值才变色。
版权声明:本文为博主原创文章,未经博主允许不得转载。