如何在datagridview上过滤sql select查询的结果

时间:2013-01-25 04:04:38

标签: sql vb.net datagridview filter

我的表单上有一个Sql查询,在我的tableA中显示所有具有2013年duedate的记录,填充数据网格视图。我还有一个按钮和文本框。

我想要做的是在datagrid视图上过滤我的sql查询的结果,是否可能有这样的另一个sql:

"SELECT caseno, duedate,remarks from (the data on my datagrid view)"

这是我的datagrid示例:

    caseno      duedate       remarks
    1001        1/12/13       passed
    1002        1/22/13       passed
    1003        1/15/13       failed
    1004        1/20/13       none
    1005        1/06/13       failed

当我点击我要在我的数据网格上显示的按钮时,所有记录都有我在文本框中输入的备注。有人可以帮帮我吗? TNX!试着简化:)

4 个答案:

答案 0 :(得分:1)

解决方案1:

  1. 设置datagridview的数据源以选择sql查询
  2. 仅在发生文本更改事件时绑定数据
  3. 对按钮点击事件
  4. 上的文本框文本进行验证

    参考:How to filter records in datagrid view and show the selected record in the datagrid

    解决方案2:

    codeproject for Filter DataGridview with data entered in textbox

    上查看此帖子

    重要的是要注意,您可以将DataView的{​​{1}}与您在.RowFilter中输入的参数一起使用。然后将该DataView绑定到textbox的{​​{1}}。在上面的示例中,它使用:

    RowSource

    你也可以在SO中找到很多其他文章。

答案 1 :(得分:0)

用于过滤备注的select语句:

SELECT caseno, duedate, remarks FROM yourTable name where remarks = '"& txt1.text &"'

你也可以制作一个由备注列表组成的组合框,并将txt1.text替换为combobox1.text

将它放在datagridview上:(在你的按钮事件中)

    'declare your dataset and adapter
    Dim adapter As MySqlDataAdapter
    Dim ds As New DataSet

Try

        connect()
        adapter = New MySqlDataAdapter("SELECT caseno, duedate, remarks FROM yourTable name where remarks = '"& txt1.text &"'", con)
        adapter.Fill(ds)
        yourdatagridview.DataSource = ds.Tables(0)

 Catch ex As Exception
        MsgBox(ex.Message)
    End Try
    con.Close()

答案 2 :(得分:0)

BindingSource.Filter

怎么样?
 BindingSource.Filter = "caseno Like '" textBox.Text + "%'"

答案 3 :(得分:0)

使用dataview行过滤器可以过滤数据