使用 ComboBox Vb.net ReportViewer 过滤数据
Filter Data Using a ComboBox Vb.net ReportViewer
我正在开发一个应用程序来根据数据库中的数据生成报告,但我在尝试使用 ComboBox 过滤数据时遇到了困难,当我第一次过滤数据时,它显示了与以下内容相关的数据ComboBox 的值,然后当我再次尝试过滤时,它会显示前一个 ComboBox 值和当前 ComboBox 值的数据。
第一个值:
第二个值:
我的代码:
Sub GetReport()
Dim rpt As New ReportDataSource
Try
With ReportViewer1.LocalReport
.DataSources.Clear()
End With
conn.openOcean()
Catch ex As MySqlException
MsgBox(ex.Message)
End Try
adapter.SelectCommand = New MySqlCommand("SELECT * FROM loins WHERE projectcode= '" & ComboBox1.Text & "' ORDER BY code ASC", conn.getConnection)
adapter.Fill(ds.Tables("dtLoins"))
rpt = New ReportDataSource("DataSet1", ds.Tables("dtLoins"))
ReportViewer1.LocalReport.DataSources.Add(rpt)
ReportViewer1.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout)
ReportViewer1.ZoomMode = ZoomMode.Percent
ReportViewer1.RefreshReport()
End Sub
我不确定你做了什么来解决这个问题,但你能清除你的数据集吗?由于它是在此子之外声明的,因此您可能会在每次调用 .Fill 时将您的数据附加到现有数据中。
你能在
上放置一个断点吗
adapter.Fill(ds.Tables("dtLoins"))
行并使用手表window查询数据集的行数?
如果填充前不为零,则保留前几行。
你可以打电话给
ds.Clear()
在填写之前看看是否有帮助。
这只是我不得不放弃的信息的两分钱。
我正在开发一个应用程序来根据数据库中的数据生成报告,但我在尝试使用 ComboBox 过滤数据时遇到了困难,当我第一次过滤数据时,它显示了与以下内容相关的数据ComboBox 的值,然后当我再次尝试过滤时,它会显示前一个 ComboBox 值和当前 ComboBox 值的数据。
第一个值:
第二个值:
我的代码:
Sub GetReport()
Dim rpt As New ReportDataSource
Try
With ReportViewer1.LocalReport
.DataSources.Clear()
End With
conn.openOcean()
Catch ex As MySqlException
MsgBox(ex.Message)
End Try
adapter.SelectCommand = New MySqlCommand("SELECT * FROM loins WHERE projectcode= '" & ComboBox1.Text & "' ORDER BY code ASC", conn.getConnection)
adapter.Fill(ds.Tables("dtLoins"))
rpt = New ReportDataSource("DataSet1", ds.Tables("dtLoins"))
ReportViewer1.LocalReport.DataSources.Add(rpt)
ReportViewer1.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout)
ReportViewer1.ZoomMode = ZoomMode.Percent
ReportViewer1.RefreshReport()
End Sub
我不确定你做了什么来解决这个问题,但你能清除你的数据集吗?由于它是在此子之外声明的,因此您可能会在每次调用 .Fill 时将您的数据附加到现有数据中。
你能在
上放置一个断点吗adapter.Fill(ds.Tables("dtLoins"))
行并使用手表window查询数据集的行数?
如果填充前不为零,则保留前几行。
你可以打电话给
ds.Clear()
在填写之前看看是否有帮助。
这只是我不得不放弃的信息的两分钱。