2010-04-09 8 views
6

Je rencontre un problème d'affichage avec le composant ReportViewer qui fait partie de SSRS. Je travaille sur une application WinForms et j'ai quelques rapports locaux qui montrent des valeurs DateTime de la base de données à divers endroits. Quelle que soit la façon dont le formatage est effectué (pas de formatage, en utilisant "d" dans la propriété Format ou en utilisant FormatDateTime avec l'une des valeurs d'énumération DateFormat), il semble toujours formater le DateTime avec la culture en-US plutôt que le la date et la culture du formatage du système.Formatage DateTime dans SSRS ReportViewer utilise toujours en-US?

J'ai validé que CurrentCulture est comme prévu. La langue du rapport est définie sur "Par défaut". La balise Language n'est même pas présente dans le fichier .rdlc. Si je change la langue du rapport, il semble refléter le formatage de cette culture, quelle que soit la culture du système.

Existe-t-il un moyen de rendre le rapport avec la culture système en cours ou de modifier par programmation la langue du rapport en fonction de la culture?

Répondre

6

Il s'avère que "Default" en tant que paramètre de langue ne fait pas beaucoup. Afin de prendre en compte la culture actuelle de l'utilisateur, Language doit être spécifié comme l'expression "= User.Language" (ceci doit également être défini sur tous les sous-rapports, car la valeur ne se propage pas ou n'hérite pas). Crédit à Chris May dans son blog article on the subject.

+0

Génial Merci pour ça !! – Luis

+0

Ça m'a vraiment sorti d'un trou. Merci. – James

Questions connexes