2010-04-09 28 views
6

Mam problem z zatrzymaniem programu ShowViewer, który jest częścią usługi SSRS. Pracuję nad aplikacją WinForm i mam kilka lokalnych raportów, które pokazują wartości DateTime z bazy danych w różnych lokalizacjach. Niezależnie od sposobu formatowania (bez formatowania, używania "d" w właściwości Format lub używania FormatDateTime z dowolną wartością wyliczenia DateFormat), zawsze wydaje się, że formatuje DateTime z kulturą en-US zamiast kultura formatowania daty i liczby.Formatowanie daty w programie SSRS ReportViewer zawsze używa en-US?

Potwierdziłem, że CurrentCulture jest zgodne z oczekiwaniami. Język raportu jest ustawiony na "Domyślny". Znacznik Language nie występuje nawet w pliku .rdlc. Jeśli zmienię język raportu, wydaje się odzwierciedlać formatowanie dla tej kultury, niezależnie od kultury systemu.

Czy istnieje sposób, aby wyrenderować raport z bieżącą kulturą systemu, lub programowo zmodyfikować język raportu na podstawie kultury?

Odpowiedz

6

Okazuje się, że "Domyślne" jako ustawienie Języka niewiele robi. Aby odebrać aktualną kulturę użytkownika, Język musi być określony jako wyrażenie "= User.Language" (należy to również ustawić dla wszystkich podraportów, ponieważ wartość ta nie jest propagowana ani dziedziczona).

Kredyt dla Chrisa Maya w jego blog article on the subject.

+0

Niesamowite dzięki za to !! – Luis

+0

To naprawdę wykopało mnie z dziury. Dzięki. – James

Powiązane problemy