代码之家  ›  专栏  ›  技术社区  ›  darkdog

日期时间格式的RDLC报表和CultureInfo

  •  1
  • darkdog  · 技术社区  · 17 年前

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

    4 回复  |  直到 12 年前
        1
  •  6
  •   Henrique Duarte    16 年前

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

        2
  •  2
  •   Luis    17 年前

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

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

    从您的报告中,您可以以“=字段”的形式访问它!FormattedDate.Value“”。

        3
  •  1
  •   Phil    12 年前

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

    对于当前的UI区域性,需要将报表的语言属性设置为 =User!Language . 希望这能帮助任何遇到同样问题的人。

        4
  •  -3
  •   EdChum Arthur G    14 年前
    =Format(Fields!FormattedDate.Value).("dd/MM/yyyy")