2009-06-24 7 views
1

J'utilise le système de rapport de Visual Studio (pas Crystal Reports mais RDLC). Cela fonctionne bien, mais mon problème est que lorsque vous réglez le "Code de format" sur un champ de date sur "D", il le formate en une date en anglais (mercredi 24 juin 2009) à la place en utilisant mon CultueInfo (allemand) et moi ne peut pas savoir comment transmettre une information de culture au rapport ou au format de date.RDLC-Report et CultureInfo au format Datetime

Répondre

5

Vous pouvez définir la propriété de langue pour le rapport aussi: http://i31.tinypic.com/1z3zbjd.jpg

+0

Comment puis-je définir la langue par programme? Lorsque j'utilise Expression, j'ai une sorte d'erreur de compilation "L'expression utilisée pour la langue de 'body' fait référence à un champ, les champs ne peuvent pas être utilisés dans les expressions de langage de rapport." –

3

Si vous ne pouvez pas définir la culture sur le rapport, essayez de créer une propriété sur votre classe qui effectue la conversion et la renvoie sous la forme d'une chaîne.

public class YourClass 
{ 
    public DateTime Date{ get; set; } 

    public string FormattedDate 
    { 
     get { return Date.ToString("D", new System.Globalization.CultureInfo("de-DE")); } 
    } 
} 

De votre rapport, vous pouvez y accéder en tant que "= Fields! FormattedDate.Value".

-2
=Format(Fields!FormattedDate.Value).("dd/MM/yyyy") 
0

Je sais que cette question a été répondu il y a un certain temps, mais je devais obtenir un rapport d'utiliser la culture d'interface utilisateur actuelle (au lieu d'un culture codée en dur) lors du formatage des dates dans un rapport RDLC.

Pour la culture d'interface utilisateur actuelle, vous devez définir la propriété Language du rapport sur =User!Language. J'espère que cela aidera tous ceux qui se heurtent au même problème.

Questions connexes