SSRS - 如何检查表中的所有行?

时间:2009-10-05 23:57:51

标签: sql sql-server reporting-services

我在报表和文本框中有一个表,它根据表中的值更改其背景颜色。现在我将文本框的背景颜色表达式设置为:

= iif(Me.Value = ReportItems![NewValue] .Value,“Yellow”,“Transparent”)

“NewValue”是表中其中一列的名称。如果文本框值位于“NewValue”列的第一行,则上述工作正常,但不是。

如何解决此问题,以便在“NewValue”列的任何行中显示文本框值时它会起作用?

抱歉,我对Reporting Services有点新,并且没有看到任何表格控件的功能。

2 个答案:

答案 0 :(得分:0)

而不是ReportItems![NewValue] .Value,你也可以使用ReportItems(“NewValue”)。顺便提一下值

答案 1 :(得分:0)

由于这篇博文:

,我昨天终于开始工作了

http://mpasharp.spaces.live.com/blog/cns!5BA71A558863C810!191.entry?sa=340192646

我基本上做了他在帖子中所做的事情,稍微修改了我的报告。我还添加了一个函数来获取我正在寻找的值的行索引(我的变量有点不同)。

Public Shared Function GetChangedValueIndex(txt As String) As Integer
Dim counter As Integer = 0
For Each s As String In ChangedValueList
    If s = txt Then
        Return counter
    End If

    counter += 1
Next
Return -1

结束功能

另一个需要注意的是,调用函数向数组中添加值必须在报表的前面发生,而不是要检查它的任何位置。我正在使用的表实际上是在报告的末尾(并且由于需求原因而无法移动)所以我制作了该表的副本,将其移动到报告的顶部,并将其设置为隐藏。

难以置信,没有更简单的方法可以做到这一点。