2011-02-17 70 views
0

我有一个列类型int,我想检查值来显示字符串,而不是数字。需要报告表达式的帮助 - RDLC

我加入这个表达式

=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", "") 

,但它无法正常工作。

我该怎么办?

回答

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, "", 
) 
+0

可怕的答案,甚至没有解释或试图找出他做错了 – 2012-07-09 08:54:31

0

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

字符串比较 = IIF(字段!Categ.Value == “1”, “第一”, “”)

诠释铸 = IIF(Int.Parse(字段!Categ.Value)== 1,“First”,“”)

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

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)