需要有关报告表达式的帮助 - RDLC

时间:2011-02-17 00:57:40

标签: visual-studio-2010 reporting

我有一个列类型int,我想检查值以显示字符串而不是数字。

我添加了这个表达式

=IIf(Fields!Categ.Value = 1, "First", "")
=IIf(Fields!Categ.Value = 2, "Second", "")
=IIf(Fields!Categ.Value = 3, "Third", "")
=IIf(Fields!Categ.Value = 4, "Fourth", "")
=IIf(Fields!Categ.Value = 5, "Fifth", "")

但它不起作用。

我该怎么做?

3 个答案:

答案 0 :(得分:2)

你能试试吗?

=Switch(
    Fields!Categ.Value = 1, "First", 
    Fields!Categ.Value = 2, "Second", 
    Fields!Categ.Value = 3, "Third", 
    Fields!Categ.Value = 4, "Fourth",
    Fields!Categ.Value = 5, "Fifth",
    Fields!Categ.Value > 5, "",
    Fields!Categ.Value < 1, "",
 )

答案 1 :(得分:0)

我相信.value条件返回的值是字符串,因此您可能需要强制转换它们或进行字符串比较。

字符串比较 = IIf(Fields!Categ.Value ==“1”,“First”,“”)

Int Cast = IIf(Int.Parse(Fields!Categ.Value)== 1,“First”,“”)

自从我与RDLC合作以来已经有一段时间了。

答案 2 :(得分:0)

要将嵌入代码添加到报表,请使用“报表属性”对话框的“代码”选项卡。您创建的代码块可以包含多个方法。嵌入代码中的方法必须使用Microsoft Visual Basic编写,并且必须基于实例。

所以例如:

public function getDescription(cat as integer) as string

dim sRet as string

select case cat

  case 1: sRet = "first"

  case 2: sRet = "second"

  case else 

   sRet = "uh?"

end select

return sRet

end function

then use the expression:

=code.getDescription(fields!Categ.value)