我正在 Visual Studio 中设计一些 SSRS 报告,每个日期时间字段都显示为 MM/dd/yyy,而不是我偏好的 dd/MM/yyyy
我的 Windows 区域设置是英语(爱尔兰),但如果我查看任何日期时间占位符属性窗口,它会显示“当前区域设置:英语(美国)”。 我不知道它是从哪里获取的(很确定它也不是数据集中定义的 SQL 登录名)或如何更改它。有什么想法吗?
(我可以强制将每个日期时间字段的输出更改为我喜欢的格式,但不想每次都这样做,而只是将环境设置为正确的区域设置)
更新:忘记添加,我可以在 RDL 中看到一个语言标记,该标记设置为“en-US”,每当我尝试将其更改为其他内容并保存时,它会自动更改回“en-US”
每个报告都有自己的区域设置。
单击报告设计界面中没有对象的部分,然后查看报告的“属性”窗口。在
Localization
下有一个名为 Language
的设置,默认为 English (United States)
或 en-US
。您可以将其设置为您自己的区域设置,但我喜欢将其设置为 =User!Language
,以便它显示在用户的区域设置首选项中。
进一步克里斯的正确答案 - 在 VS 2012 的 BIDS 中,右键单击设计图面不会显示本地化屏幕。按 f7 编辑报告的底层代码,您可以在其中找到适当的节点并将其更改为您的本地设置:
....</ReportSections>
<Language>en-GB</Language>
...
</Report>
正确的解决方案是 Chris 的解决方案,但是当您编写更新时,您可以尝试以这种方式修改占位符的表达式公式:
=Format(Fields!FieldName.Value, "dd/MM/yyyy")