SSRS ReportViewer中的日期时间格式总是使用en-US?

时间:2010-04-09 16:02:39

标签: winforms localization reporting-services

我在使用ReportViewer组件时出现了停止显示的问题,这是SSRS的一部分。我正在开发一个WinForms应用程序,并有几个本地报告显示数据库中各个位置的DateTime值。无论格式化如何完成(根本没有格式化,在Format属性中使用“d”,或者使用任何DateFormat枚举值使用FormatDateTime),它总是看起来格式化DateTime美国文化,而不是系统日期和数字格式文化。

我已经验证CurrentCulture符合预期。报告语言设置为“默认”。 {。1}}标记甚至不存在于.rdlc文件中。如果我更改了报告语言,那么它似乎反映了该文化的格式,无论系统文化如何。

是否有办法使用当前系统文化呈现报表,或者根据文化以编程方式修改报表的语言?

1 个答案:

答案 0 :(得分:6)

事实证明,作为语言设置的“默认”并没有太大作用。为了获取用户当前的文化,必须将语言指定为表达式“= User.Language”(这也需要在所有子报表上设置,因为值不会传播或继承)。

在他的blog article on the subject中感谢Chris May。