SSRS仅显示1个tablix行

时间:2015-05-28 09:03:41

标签: reporting-services

我正在做一些正确的事情数据集的第五个元素。所以我确保数据集正确排序(按标题字母顺序),然​​后我使用这段代码为每一行增加一个数字。

public counter As Integer = 0

Function SetNumber()
 counter = counter + 1
 return counter
end Function

所以数据看起来像这样:

1 | Africa
2 | America
3 | Antarctica
4 | Asia
5 | Europe
6 | Oceania

之后,我转到我的详细信息行的行可见性,并选择隐藏/显示基于表达式的行。我目前使用的表达是:

=iif(Fields!Increment.Value = 5, False, True)

使用此表达式隐藏所有Tablix行。如果我像这样切换'False'和'True'值:

=iif(Fields!Increment.Value = 5, True, False)

只隐藏第五行,其余部分都可见。

有谁知道为什么我的表达不起作用或我如何使这个功能起作用。

编辑“获取数据的查询”:

<RSSharePointList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <ListName>Continents</ListName>
  <ViewFields>
    <FieldRef Name="Title" />
  </ViewFields>
  <Query>
    <OrderBy>
      <FieldRef Name="Title" Ascending="True"/>
    </OrderBy>
  </Query>
</RSSharePointList>

对于此查询,我添加了一个名为“Increment”的计算字段,该字段使用以下表达式:

=Code.SetNumber()

2 个答案:

答案 0 :(得分:2)

您想要隐藏Increment.Value高于5的行。因此请使用

=IIf(Fields!Increment.Value <= 5, False, True)

更容易删除计算字段并改为使用RowNumber()

=IIf(RowNumber(Nothing) <= 5, False, True)

答案 1 :(得分:0)

好的,我找到了解决方案。感谢user2900970,我意识到我不应该尝试显示一个项目,而是隐藏所有其他项目。

所以使用这个表达式我只得到我想要的1个项目:

=IIf(RowNumber(Nothing) <> 5, True, False)