从文本框VB过滤数据视图

时间:2017-10-29 04:14:48

标签: vb.net datagridview

我的winform中有一个dgvw。我有一个文本框来搜索/过滤dgvw.I尝试了很多代码来过滤dgvw.But每个人想出了不同的问题。现在,我正在尝试使用这段代码:

Private Sub searcgcon_TextChanged(sender As Object, e As EventArgs) Handles searcgcon.TextChanged
TryCast(userdatagrid.DataSource, DataTable).DefaultView.RowFilter = String.Format("Name LIKE '{0}%' OR Name LIKE '% {0}%'", searcgcon.Text)

我在不理解的情况下应用了此代码。现在它给我一个错误说:对象引用未设置为对象的实例。我知道我错过了一些东西。在textchange事件中,我应用了这段代码,因为代码提到“Userdatagrid.Datasource,DataTable”,我没有在textchange事件中声明/设置数据表。此外,代码有“”“Name LIKE”{0} %'或名称LIKE“”。现在,“NAME”是我的数据库列的名称?(我有多列) 现在在我的表单的加载事件中,dgvw从sql db.Here加载数据代码:

 Private Sub Contact_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim cmd As New SqlCommand("Select * from Contacts", con)
    Dim adapter As New SqlDataAdapter(cmd)
    Dim table As New DataTable
    adapter.Fill(table)
    userdatagrid.DataSource = table

所以,我只是想知道: 我错过了什么? 2.我用来过滤的代码,它是正确的代码/解决方案吗? 3.如上所述,我的db / dgvw中有多列,那么如何配置过滤代码以在所有列中进行搜索? 4.关于USERDATAGRID.DATASOURCE,DATATABLE..i提到我没有在textchane事件中设置任何数据表,所以任何人都可以指导我该怎么做?

0 个答案:

没有答案