我在使用ReportViewer组件时出现了停止显示的问题,这是SSRS的一部分。我正在开发一个WinForms应用程序,并有几个本地报告显示数据库中各个位置的DateTime
值。无论格式化如何完成(根本没有格式化,在Format
属性中使用“d”,或者使用任何DateFormat枚举值使用FormatDateTime
),它总是看起来格式化DateTime美国文化,而不是系统日期和数字格式文化。
我已经验证CurrentCulture
符合预期。报告语言设置为“默认”。 {。1}}标记甚至不存在于.rdlc文件中。如果我更改了报告语言,那么它似乎反映了该文化的格式,无论系统文化如何。
是否有办法使用当前系统文化呈现报表,或者根据文化以编程方式修改报表的语言?
答案 0 :(得分:6)
事实证明,作为语言设置的“默认”并没有太大作用。为了获取用户当前的文化,必须将语言指定为表达式“= User.Language”(这也需要在所有子报表上设置,因为值不会传播或继承)。
在他的blog article on the subject中感谢Chris May。