Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何在SSRS中为组中的值创建替代行背景色_Sql_Vb.net_Reporting Services - Fatal编程技术网

Sql 如何在SSRS中为组中的值创建替代行背景色

Sql 如何在SSRS中为组中的值创建替代行背景色,sql,vb.net,reporting-services,Sql,Vb.net,Reporting Services,我正在使用此表达式为我的行组获取可选颜色: =iif(RunningValue(Fields!Status_Reason.Value,CountDistinct,Nothing) Mod 2, "LightBlue", "White") 除某些行外,所有操作都正常: 我假设它是因为一些值是“-”,它们是0。 在这种情况下,可以采取什么措施? 这是我的小组: 我使用一些VB代码来交替行颜色。刚开始设置时需要做的工作稍微多一些,但它总是正常工作,您可以通过复制VB代码在其他报表中重复使用代码 表

我正在使用此表达式为我的行组获取可选颜色:

=iif(RunningValue(Fields!Status_Reason.Value,CountDistinct,Nothing) Mod 2, "LightBlue", "White")
除某些行外,所有操作都正常:

我假设它是因为一些值是“-”,它们是0。 在这种情况下,可以采取什么措施? 这是我的小组:
我使用一些VB代码来交替行颜色。刚开始设置时需要做的工作稍微多一些,但它总是正常工作,您可以通过复制VB代码在其他报表中重复使用代码

表达式:

=code.AlternateColor("AliceBlue", "White", 1, 1)

=code.AlternateColor("AliceBlue", "White", 0, 1)
Private bOddRow(10) As Boolean 

Function AlternateColor(ByVal OddColor As String, ByVal EvenColor As String, ByVal Toggle As Boolean, ByVal Type AS INTEGER) As String 

  If Toggle Then bOddRow(Type) = Not bOddRow(Type) 

  If bOddRow(Type) Then 
                Return OddColor 
  Else 
                Return EvenColor 
  End If 

End Function
第一列应该有第一个表达式-参数中的第一个1告诉它更改颜色。其余列使用第二个表达式,其中0表示颜色不会更改

VB代码:

=code.AlternateColor("AliceBlue", "White", 1, 1)

=code.AlternateColor("AliceBlue", "White", 0, 1)
Private bOddRow(10) As Boolean 

Function AlternateColor(ByVal OddColor As String, ByVal EvenColor As String, ByVal Toggle As Boolean, ByVal Type AS INTEGER) As String 

  If Toggle Then bOddRow(Type) = Not bOddRow(Type) 

  If bOddRow(Type) Then 
                Return OddColor 
  Else 
                Return EvenColor 
  End If 

End Function
如果在一个表中有多个分组级别,则需要更改表达式的第二个编号,以便每个组的行都是唯一的。在下面的示例中,主分组为白色和AliceBlue,子分组为WhiteMoke和浅蓝色


我是ssrs新手,您如何实现该代码?这是一个很好的地方effect@Merenix-VB代码将添加到报表的“代码”属性中。这些表达式用于单元格的BackgroundColor属性。第一个表达式(最后两个参数为1,1)在行的第一个单元格中使用-第一个1告诉它交替颜色。如果您有嵌套的组(不同的表可以使用相同的组号),则第二个数字将用作组号。