筛选数据网格视图 - 记录集

Filter datagrid view - recordset

我想在我的项目上添加一个按钮来过滤我的数据网格视图,方法是选择运算符,然后在文本框中输入值。我正在使用 Vb.net、Access 和 ado

我这里有一些代码,但我认为它是错误的,它并没有说它有问题,但是当我 运行 然后它给我一个错误信息。

Private Sub cmdGo_Click(sender As Object, e As EventArgs) Handles cmdGo.Click
        Dim rs As New ADODB.Recordset
        Dim s As String, sErro As String
        Dim retval As Boolean
        sErro = ""
        s = "select " & comboField.SelectedItem & " from " & Me.tbName
        retval = getRS(s, rs, False, sErro)
        If retval Then
            For i = 0 To rs.Fields.Count - 1

                If comboOperador.SelectedItem = "~" Then

                    If rs.Fields(i).Value Like txtVal.Text Then
                        rs.Filter= rs.Fields(i).Value & " Like '*" & txtVal.Text & "*'"
                    End If

                End If
            Next
        End If
    End Sub

我也认为这是错误的

s = "select " & comboField.SelectedItem & " from " & Me.tbName

因为它没有遍历整行。只拿到第一个。

如有任何帮助,我将不胜感激。

我会使用 LINQ。一旦你有了你的数据表...

    Dim Query = From row In yourDataTable
       Where row.Item(i) Like "*" & txtVal.Text & "*" 
       Select row.Item(i)

然后您可以遍历查询结果...

    For Each TheResult In Query
        MsgBox(TheResult)
    Next

至于 s = "select " & comboField.SelectedItem & " 来自 " & Me.tbName 尝试使用 SelectedValue 属性 而不是 SelectedItem。