У меня есть эта программа, которая очень хорошо выполняет средство просмотра отчетов с данными из таблицы в базе данных mysql. Проблема в том, что когда я добавляю два средства выбора даты и кнопку генерации для отображения данных между датами, программа отображает пустую страницу только с заголовками столбцов. Это мой код:
Импортирует MySql.Data.MySqlClient Импортирует Microsoft.Reporting.WinForms
Открытый класс frmSalesReport Частный Sub Closepb_Click (отправитель как объект, e как EventArgs) обрабатывает Closepb.Click Me. Dispose () End Sub
Private Sub frmSalesReport_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Sub LoadReport()
Dim rptDS As ReportDataSource
Me.ReportViewer1.RefreshReport()
Try
With ReportViewer1.LocalReport
.ReportPath = Application.StartupPath & "\Reports\Report1.rdlc"
.DataSources.Clear()
End With
Dim ds As New DataSet1
Dim da As New MySqlDataAdapter
cn.Open()
da.SelectCommand = New MySqlCommand("select invoice, subtotal, vat, discount, amountdue, sdate, user from tblpayment where sdate between '" & DateTimePicker1.Value.ToString("dd-MM-yyyy") & "' and '" & DateTimePicker2.Value.ToString("dd-MM-yyyy") & "'", cn)
da.Fill(ds.Tables("dtSales"))
cn.Close()
rptDS = New ReportDataSource("DataSet1", ds.Tables("dtSales"))
ReportViewer1.LocalReport.DataSources.Add(rptDS)
ReportViewer1.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout)
ReportViewer1.ZoomMode = ZoomMode.Percent
ReportViewer1.ZoomPercent = 100
Catch ex As Exception
cn.Close()
MsgBox(ex.Message, vbCritical)
End Try
End Sub
Private Sub btnGenerate_Click(sender As Object, e As EventArgs) Handles btnGenerate.Click
LoadReport()
End Sub
End Class