日期时间格式的RDLC-Report和CultureInfo

时间:2009-06-24 06:18:02

标签: visual-studio-2008 rdlc

我正在使用Visual Studio的报告系统(不是Crystal Reports而是RDLC)。它工作正常,但我的问题是,当将日期字段上的“格式代码”设置为“D”时,它将其格式化为英语日期(2009年6月24日星期三),而不是使用我的CultueInfo(德语)和我无法找到如何将文化信息传递给报告或日期格式。

4 个答案:

答案 0 :(得分:6)

您也可以为报告设置语言属性: http://i31.tinypic.com/1z3zbjd.jpg

答案 1 :(得分:2)

如果您无法在报表上设置文化,请尝试在您的类上创建一个执行转换的属性,并将其作为字符串返回。

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

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

您可以在报告中以“= Fields!FormattedDate.Value”的形式访问它。

答案 2 :(得分:1)

我知道这个问题很久以前就得到了解答,但在格式化RDLC报告中的日期时,我需要获得一份报告来使用当前的UI文化(而不是硬编码文化)。

对于当前的UI文化,您需要将报告的语言属性设置为=User!Language。希望这有助于任何遇到同样问题的人。

答案 3 :(得分:-3)

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