Форматирование DateTime в SSRS ReportViewer всегда использует en-US? - PullRequest
6 голосов
/ 09 апреля 2010

У меня проблема с остановкой шоу с компонентом ReportViewer, который является частью SSRS. Я работаю над приложением WinForms и имею несколько локальных отчетов, которые показывают значения DateTime из базы данных в разных местах. Независимо от того, как выполняется форматирование (без форматирования вообще, с использованием «d» в свойстве Format или с использованием FormatDateTime с любым из значений перечисления DateFormat), всегда отображается форматирование DateTime с помощью en-US культура, а не системная культура форматирования даты и чисел.

Я подтвердил, что CurrentCulture соответствует ожиданиям. Язык отчета установлен на «По умолчанию». Тег Language даже отсутствует в файле .rdlc. Если я изменю язык отчета, то он будет отображать форматирование для этой культуры независимо от системной культуры.

Есть ли способ визуализировать отчет в соответствии с текущей культурой системы или программно изменить язык отчета в зависимости от культуры?

1 Ответ

6 голосов
/ 09 апреля 2010

Оказывается, что «По умолчанию» как настройка языка мало что дает. Чтобы подобрать текущую культуру пользователя, язык должен быть указан как выражение "= User.Language" (это также необходимо установить для всех вложенных отчетов, поскольку значение не распространяется и не наследуется).

Благодарим Криса Мея в его статье в блоге на эту тему .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...