Нужна помощь с выражением отчета - RDLC - PullRequest
0 голосов
/ 17 февраля 2011

У меня есть тип столбца 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 ]

2 голосов
/ 17 февраля 2011

Можете ли вы попробовать это?

=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 голосов
/ 28 апреля 2011

Чтобы добавить встроенный код в отчет, используйте вкладку «Код» диалогового окна «Свойства отчета».Блок кода, который вы создаете, может содержать несколько методов.Методы во встроенном коде должны быть написаны в 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)
0 голосов
/ 17 февраля 2011

Я считаю, что значения, возвращаемые условием .value, являются строками, поэтому вы можете либо привести их к типу, либо выполнить сравнение строк.

Сравнение строк = IIf (Fields! Category.Value == "1"), "First", "")

Int Cast = IIf (Int.Parse (Fields! Category.Value) == 1, "First", "")

Уже давноЯ работал с RDLC.

...