【发布时间】:2015-07-02 07:38:00
【问题描述】:
为了格式化 RDL 文件中的日期,我们使用以下格式:
=First(FormatDateTime(Fields!SomeDate.Value, 2))
根据这个Page,应该是电脑的区域设置。
问题是:如果我通过另一个服务调用报告服务并尝试设置语言:
rs.SetExecutionParameters(MapParameters(Report.Parameters).ToArray(), "de-CH");
这会被忽略。我试图通过
覆盖线程文化System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("de-CH");
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("de-CH");
这也会被忽略。 真正的字符串:报告服务器本身也有 de-CH 作为文化,但它一直使用英文日期格式。
谁能告诉我“计算机的区域设置”是什么意思以及为什么报告服务拒绝采用通过的文化?
编辑:报告中的语言是
=User!Language
一般说我想从外部传递报告语言,无论是通过CurrentThread 还是通过参数。但两者都被忽略了。
【问题讨论】:
-
报告语言属性值是多少 (
Properties=>Language)? -
另外,您想要
SomeDate的固定文化还是通过执行/报告/服务器配置文化? -
我做了一个编辑回答
标签: c# reporting-services culture rdl