2010-04-09 15 views
6

Ho un problema di interruzione dello show con il componente ReportViewer che fa parte di SSRS. Sto lavorando a un'applicazione WinForms e ho un paio di rapporti locali che mostrano valori DateTime dal database in varie posizioni. Indipendentemente dal modo in cui viene eseguita la formattazione (nessuna formattazione, utilizzando "d" nella proprietà Format o utilizzando FormatDateTime con uno qualsiasi dei valori di enumerazione DateFormat), sembra sempre che formi il DateTime con la cultura en-US anziché data di sistema e cultura di formattazione del numero.La formattazione DateTime in SSRS ReportViewer utilizza sempre en-US?

Ho convalidato che CurrentCulture è come previsto. La lingua del report è impostata su "Predefinito". Il tag Language non è nemmeno presente nel file .rdlc. Se cambio il linguaggio del report, sembra che rifletta la formattazione per quella cultura indipendentemente dalla cultura del sistema.

Esiste un modo per rendere il report con la cultura di sistema corrente o modificare a livello di codice la lingua del report in base alla cultura?

risposta

6

Si scopre che "Predefinito" come impostazione della lingua non fa molto. Per raccogliere la cultura corrente dell'utente, la lingua deve essere specificata come espressione "= User.Language" (anche questo deve essere impostato su tutti i sottoreport, poiché il valore non si propaga o eredita).

Credito a Chris May nel suo blog article on the subject.

+0

Grazie fantastico per quello !! – Luis

+0

Questo mi ha davvero scavato da un buco. Grazie. – James

Problemi correlati