2010-04-09 8 views
6

Ich habe Probleme mit der ReportViewer-Komponente, die Teil von SSRS ist. Ich arbeite an einer WinForms-Anwendung und habe ein paar lokale Berichte, die DateTime Werte aus der Datenbank an verschiedenen Orten anzeigen. Unabhängig davon, wie die Formatierung durchgeführt wird (überhaupt keine Formatierung, Verwendung von "d" in der Format-Eigenschaft oder Verwendung von FormatDateTime mit einem der DateFormat-Enumerationswerte), scheint es immer die DateTime mit der en-US-Kultur zu formatieren System Datum und Nummer Formatierung Kultur.DateTime-Formatierung in SSRS ReportViewer verwendet immer en-US?

Ich habe validiert, dass CurrentCulture wie erwartet ist. Die Berichtssprache ist auf "Standard" eingestellt. Das Language-Tag ist nicht einmal in der RDLC-Datei vorhanden. Wenn ich die Berichtssprache ändere, scheint es die Formatierung für diese Kultur ungeachtet der Systemkultur wiederzugeben.

Gibt es eine Möglichkeit, den Bericht entweder mit der aktuellen Systemkultur zu rendern oder die Sprache des Berichts basierend auf der Kultur programmgesteuert zu ändern?

Antwort

6

Es stellt sich heraus, dass "Standard" als Sprache Einstellung nicht viel tut. Um die aktuelle Kultur des Benutzers abzurufen, muss Sprache als Ausdruck "= User.Language" angegeben werden (dies muss auch für alle Unterberichte festgelegt werden, da der Wert nicht propagiert oder übernommen wird).

Kredit an Chris May in seiner blog article on the subject.

+0

Ehrfürchtige Dank dafür !! – Luis

+0

Das hat mich wirklich aus einem Loch gegraben. Vielen Dank. – James

Verwandte Themen