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