使用 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()

在填写之前看看是否有帮助。

这只是我不得不放弃的信息的两分钱。