SSRS参数日期格式

时间:2015-06-03 12:58:59

标签: .net reporting-services reportingservices-2005

我在SSRS报告参数日期格式方面遇到了一些问题。我有一个在VB.net系统中使用WinForms报表查看器的系统。处理报告的服务器使用格式MM/dd/yyyy,系统使用dd/MM/yyyy。我不能更改此系统或系统,因为两者都需要具有这些设置。

问题在于,虽然日历将日期显示为dd/MM/yyyy并将其输入到该格式的参数字段中,但日期仍被解析为MM/dd/yyyy

如果在解析日期后将日期输入为MM/dd/yyyy,则会将其切换回dd/MM/yyyy中的显示,然后如果用户再次尝试运行报告,则无法解析或向后解析。 报告是使用SQL Server 2005存储过程的标准SSRS 2005报告。

我已将报告的Language属性设置为=User!Language,虽然这导致日历以正确的格式设置日期,但解析仍无法正常工作。

我正在使用Microsoft.ReportViewer.WinForms和.Net 3.5的8.0.0.0版。如果需要,我可以升级其中一个或两个。系统在Windows 7 64位上运行。

我的计算机的区域设置设置为dd/MM/yyyy

根据要求,我正在添加.net报告代码。

此问题会影响具有DateTime参数的所有报告。

日期参数输入到列表中,如图所示。 CustomCalendarControl是一个带有一些样式的MaskedTextBox。格式为dd/MM/yyyy

paramList.Add(New ReportParameter("start", datCustomCalendarControl.Text, False))

以下代码运行报告。该方法接受bv_strReportName和可选的List(ReportParameter)。如果没有传递参数,控件将提示用户输入参数。该问题会影响通过bv_ParameterList传入的参数以及通过控件输入的参数。 reportViewer是一个标准的WinForms ReportViewer控件。

reportViewer.ServerReport.ReportServerUrl = Globals.ReportServerLocation
reportViewer.ServerReport.ReportPath = Globals.ReportPathLocation & bv_strReportName
reportViewer.ServerReport.ReportServerCredentials.NetworkCredentials = New Net.NetworkCredential("USER", "PASSWORD")

if (bv_ParameterList IsNot Nothing) Then
    reportViewer.ServerReport.SetParameters(bv_ParameterList)
    reportViewer.RefreshReport()
End If

您可以提供任何帮助。

0 个答案:

没有答案