如何过滤datagridview数据源中的信息?

时间:2015-09-08 20:27:53

标签: c# datagridview dataview

首先,我很抱歉我的问题,我知道这很常见,我已经读过How to use textbox to search data in data grid view?但没有成功

我是C#的新手,这是我第一次试一试!

private void textBox1_TextChanged(object sender, EventArgs e)
    {
        (tableDataGridView.DataSource as DataTable).DefaultView.RowFilter = string.Format("Id LIKE '%{0}%'",
                                                    "Merk LIKE '%{0}%'",
                                                    "Model LIKE '%{0}%'",
                                                    "Bouwjaar LIKE '%{0}%'",
                                                    "Problemen LIKE '%{0}%'", textBox1.Text);
    }

1 个答案:

答案 0 :(得分:0)

要过滤datagrid中的行,我使用数据视图,我的datagrid itemsource设置了这样的数据表:

myDatagrid.ItemSource = myDataTable.defaultview; \\all rows are visible

我为过滤设置了一个字符串,你可以使用string.format:

 string strFilter = String.Format("columName1 LIKE {0} AND columnName2 < {1}", var1,var2); \\use LIKE to find equality between string values but you can also compare DateTime... like I do it in my sample with columnName2

并设置数据视图以过滤数据网格

 DataView dv = new DataView(myDataTable, strFilter, "columnName2 DESC", DataViewRowState.CurrentRows);

参数1:datagrid myDataTable的ItemSource 2:你的过滤字符串 3:您可以订购行 4:表示应用过滤器的行

最后,您需要使用新的数据视图刷新数据网格

myDataGrid.ItemSource = dv;