Диаграмма в Reportviewer не загружается, пока я не нажму кнопку просмотра отчета при передаче параметров комболиста.
Все выбранные параметры передаются правильно и отчет загружается только после нажатия кнопки «Просмотр отчета» в средстве просмотра отчетов.
У меня есть это средство просмотра отчетов на странице ASP.NET, и мои параметры передаются с использованием переменных сеанса, созданных из другой страницы ASP.NET, в которой есть форма параметров, откуда пользователь вводит и выбирает входные параметры.
В качестве входных параметров у меня есть даты (выбор даты) и названия компаний (комбинированный список с множественным выбором с флажками).
Отчет работает абсолютно нормально, если параметры отчета не получены из комбинированного списка с множественным выбором.
Вот мой код, который я использовал для установки параметров отчета в качестве переменных сеанса.
Session("labname") = Nothing
Session("fractionid") = FractionDropDownList.SelectedValue
For intloopindex As Integer = 0 To LabNamesCheckBoxList.Items.Count - 1
If LabNamesCheckBoxList.Items(intloopindex).Selected Then
Session("labname") &= LabNamesCheckBoxList.Items(intloopindex).Text & ControlChars.CrLf
End If
Next
Session("sdate") = sdate.text
Session("edate") = edate.text
Вот мой код для передачи этих переменных сеанса в качестве параметров элементу управления Reportviewer.
Если не IsPostBack, то
Dim fractionparam As String
Dim sdateparam As String
Dim edateparam As String
Dim regionparam As String
Dim labnameparam As String
regionparam = Session("regionid")
fractionparam = Session("fractionid")
labnameparam = Session("labname")
sdateparam = Session("sdate")
edateparam = Session("edate")
Dim rp(3) As Microsoft.Reporting.WebForms.ReportParameter
'rp(0) = New Microsoft.Reporting.WebForms.ReportParameter("regionid", regionparam)
rp(0) = New Microsoft.Reporting.WebForms.ReportParameter("fractionid", fractionparam)
rp(1) = New Microsoft.Reporting.WebForms.ReportParameter("labname", labnameparam)
rp(2) = New Microsoft.Reporting.WebForms.ReportParameter("sdate", sdateparam)
rp(3) = New Microsoft.Reporting.WebForms.ReportParameter("edate", edateparam)
Me.ReportViewer1.ServerReport.SetParameters(rp)
End If