Sql VB数据网格绑定源过滤器

Sql VB数据网格绑定源过滤器,sql,vb.net,datagridview,Sql,Vb.net,Datagridview,我编程了datagridview连接,而不是使用内置的向导功能。我现在遇到的唯一问题是,我似乎无法在键入时搜索绑定源。我的意思是,当我在文本框中键入时,我想过滤数据库中“SkuNo”列的数据,如datagrid上所示。这是非常简单的,可以很好地与向导配合使用,但我正在努力通过代码来完成它。这是我的代码: Private Sub txtSearchOnSku_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArg

我编程了datagridview连接,而不是使用内置的向导功能。我现在遇到的唯一问题是,我似乎无法在键入时搜索绑定源。我的意思是,当我在文本框中键入时,我想过滤数据库中“SkuNo”列的数据,如datagrid上所示。这是非常简单的,可以很好地与向导配合使用,但我正在努力通过代码来完成它。这是我的代码:

 Private Sub txtSearchOnSku_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSearchOnSku.TextChanged
    Dim source1 As New BindingSource()

    DataGridView1.DataSource = source1

    source1.Filter = "skuNo LIKE'" & txtSearchOnSku.Text & "*'"
End Sub
End Class
任何帮助都会很好

好的,伙计们

代码如下:

Dim sql As String = "SELECT * FROM duragadget"
Dim connection As New OleDbConnection(duraGadgetDB)
Dim dataadapter As New OleDbDataAdapter(sql, connection)
Dim ds As New DataSet()
Dim dsView As New DataView
Dim bs As New BindingSource()
connection.Open()
dataadapter.Fill(ds, "dura")
connection.Close()
dsView = ds.Tables(0).DefaultView
bs.DataSource = dsView
bs.Filter = "skuNo LIKE'" & txtSearchOnSku.Text & "*'"
DataGridView1.DataSource = bs

会发生什么?你得到了什么?为什么你认为它不起作用?数据网格变成了空白。如果我有(例如)一个以字母“c”开头的数据项,我在文本框中键入“c”,并且该单个结果应显示在datagrid中作为其被键入的结果,但它不显示为空。您发布的代码创建了一个
BindingSource
,但不填充它,因此
DataGridView1.DataSource=source1
将您的数据网格连接到一个空列表。查询中的*是否应为%?@David有一个很好的观点-还有为什么每次在TextChanged内创建BindingSource?希望您不是每次在TextChanged上都这样做。也别忘了尽快接受你的答案(我知道在你做之前会有延迟)。