У меня есть останавливающая шоу проблема с компонентом ReportViewer, это - часть SSRS. Я работаю над приложением WinForms и имею несколько локальных отчетов то шоу DateTime
значения от базы данных в различных местоположениях. Независимо от того, как сделано форматирование (никакое форматирование вообще, с помощью "d" в Format
свойство или использование FormatDateTime
с любой из перечислимых величин DateFormat), это всегда, кажется, форматирует DateTime с культурой en-США, а не культурой форматирования чисел и системной датой.
Я проверил это CurrentCulture
как ожидалось. Язык отчета установлен на "Значение по умолчанию". Language
тег даже не присутствует в .rdlc файле. Если я изменяю язык отчета затем, это, кажется, отражает форматирование для той культуры независимо от системной культуры.
Существует ли способ или представить отчет с культурой существующей системы или программно изменить язык отчета, основанного на культуре?
Оказывается, что "По умолчанию" как настройка языка мало что делает. Чтобы получить текущий язык и удостаи пользователя, Language должен быть указан как выражение "=User.Language" (это также должно быть установлено для всех вложенных отчетов, так как значение не распространяется и не наследует).
Заслуга Криса Мэя в его статье в блоге на эту тему.