Передать параметры в ReportViewer из элементов управления WinForm VB - PullRequest
0 голосов
/ 02 ноября 2018

Попытка получить параметры, которые конечный пользователь будет вводить при передаче winform хранимой процедуре SQL, и иметь набор результатов, открытый ReportViewer для простоты печати и использования. Посмотрел несколько онлайн-видео, но не могу с этим разобраться. Не получаю никаких ошибок, но ReportViewer открывается с пустой таблицей. Любая помощь будет принята с благодарностью

Я пытался извлечь значения из элементов управления form1 следующим образом:

            'Dim startReport(0) As Microsoft.Reporting.WinForms.ReportParameter
            'startReport(0) = New Microsoft.Reporting.WinForms.ReportParameter("startReport(0)", Date.Parse(Form1.report_start.Value))
            'Dim endReport(1) As Microsoft.Reporting.WinForms.ReportParameter
            'endReport(1) = New Microsoft.Reporting.WinForms.ReportParameter("endReport(1)", Date.Parse(Form1.report_end.Value))
            'Dim loc(2) As Microsoft.Reporting.WinForms.ReportParameter
            'loc(2) = New Microsoft.Reporting.WinForms.ReportParameter("loc(2)", Int32.Parse(Form1.checkBox_location.SelectedItem))
            'Dim dept(3) As Microsoft.Reporting.WinForms.ReportParameter
            'dept(3) = New Microsoft.Reporting.WinForms.ReportParameter("dept(3)", Char.Parse(Form1.listBox_deptCode.SelectedItem))

Пытался извлечь значения, подобные этому ...

Me.d_queryTableAdapter.Fill(Me.DeptReport.d_query, Form1.report_start.Value, Form1.report_end.Value, Form1.checkBox_location.SelectedItem, Form1.listBox_deptCode.SelectedItem)

'и вот так

Me.d_queryTableAdapter.Fill(Me.DeptReport.d_query, DateTime.Parse(Form1.report_start.Value), DateTime.Parse(Form1.report_end.Value), Int32.Parse(Form1.checkBox_location.SelectedItem), Form1.listBox_deptCode.SelectedItem)

Единственный способ, которым я могу заполнить средство просмотра отчетов, - это если я жестко закодирую значения для параметра, подобного этому

Public Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Me.d_queryTableAdapter.Fill(Me.DeptReport.d_query, "10/15/2018", "10/15/2018", "10", "FB")    
        Me.ReportViewer1.RefreshReport()
End Sub

enter image description here

...