从WinForm控件VB将参数传递给ReportViewer

时间:2018-11-02 18:03:10

标签: vb.net winforms stored-procedures visual-studio-2013 reportviewer

试图让最终用户在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)

我可以填充reportviewer的唯一方法是,如果我对此类参数的值进行硬编码

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

0 个答案:

没有答案