【发布时间】:2011-06-17 08:16:12
【问题描述】:
我们有一个接受一个日期/时间输入参数的 SSRS 报告。我们发现从我们的 Silverlight 客户端执行报告时报告失败,并出现以下错误:
“为报告参数“CurrentDate”提供的值对其类型无效。”
经过进一步调查,我们发现当传递给报告的日期值的天数大于 12 时,报告会失败。例如2011 年 1 月 1 日可以。 2011 年 6 月 17 日将失败。这告诉我们,SSRS 框上的报告必须期待美国格式的日期,即 mm/dd/yyyy。
我该如何解决这个问题?到目前为止,我已经尝试了以下方法:
我已将报告上的 Language 属性设置为 en-GB。这没什么区别。 我在执行报告之前更改了 Silverlight 代码中的区域设置,例如
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
ExecuteReport();
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-GB");
这可行,但我对这个解决方案不满意。仅仅让我们的 SSRS 报告接受日期似乎是一个很大的技巧。
为什么 SSRS 要求所有日期参数都是美国格式?我可以在不跳槽的情况下解决这个问题吗?请帮忙!
【问题讨论】:
标签: .net silverlight-4.0 reporting-services