Я преобразовал несколько отчетов из формата построителя отчетов Visual Studio 2008 в формат построителя отчетов Visual Studio 2010.Это включало преобразование файлов .rdlc и обращение к новой сборке средства просмотра отчетов, версия 10.0 (старая версия была 9.0).
Я обнаружил, что значения перечисления теперь отображаются в виде числовых значений, тогда как в более старой версии отображалось строковое представление.перечислимой стоимости.Я не могу понять, как отформатировать значение, чтобы отображалась строка.
Я использую IEnumerable объектов в качестве моих источников данных.Я знаю, что мог бы добавить свойства к объектам, чтобы выставить значения перечисления в виде строк, но я бы посчитал это последним средством, поскольку я говорю о сотнях отчетов и объектов, плюс добавление этих свойств - это скорее решение для взлома, которое действительно добавляетнет цели для объектной модели.
Так что я надеюсь, что есть более чистый способ выполнить форматирование значений перечисления непосредственно через дизайнер отчетов.
В следующем перечислении должно отображаться PaymentBucketTyp.PRIN
в отчете как «PRIN», а не «0», PaymentBucketType.AINT
должно отображаться как «AINT»:
Public Enum PaymentBucketType
PRIN
AINT
CORT
ATTY
MISC
End Enum
Я пробовал следующие выражения:
=Fields!Bucket.Value
=Fields!Bucket.Value.ToString()
=CStr(Fields!Bucket.Value)
=Fields!Bucket.Value.ToString("G") 'produces #Error
У меня естьтакже попытался установить формат текстового поля на ="G"
ОБНОВЛЕНИЕ - 28.02.2012 Я также попробовал System.ComponentModel.DataAnnotations
атрибуты, но все же не повезло:
[System.ComponentModel.DataAnnotations.Display(Name = "PRIN")]
[System.ComponentModel.DataAnnotations.DisplayFormat(DataFormatString="G")]