如何使用ComboBox过滤DataGridView [英] How to filter the DataGridView using ComboBox
本文介绍了如何使用ComboBox过滤DataGridView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在使用 ComboBox
这是我的显示代码
cm = new SqlCommand();
cn = new SqlConnection(lgn.connections);
cn.Open();
cm.Connection = cn;
query = "Select * from Trails";
cm.CommandText = query;
SqlDataAdapter dar = new SqlDataAdapter(cm);
DataTable dt = new DataTable();
dar.Fill(dt);
dataGridView1.DataSource = dt;
dataGridView1.Columns[0].Width = 0;
dataGridView1.Columns[1].Width = 130;
dataGridView1.Columns[2].Width = 100;
dataGridView1.Columns[3].Width = 360;
dataGridView1.Columns[4].Width = 130;
this.dataGridView1.Columns[0].Visible = false;
原始数据:
ID | TRANSACTYPE | DESCRIPTION | AUTHORIZED BY
-----------------------------------------------
1 | LOGIN | blah blah | BOB
2 | LOGOUT | blah blah | BOB
3 | LOGIN | blah blah | TIM
4 | LOGOUT | blah blah | KURT
我有 ComboBox
名为 cboFilter
,如果我将索引更改为 LOGIN
,数据将显示在 dataGridView1
仅是登录名。
I have ComboBox
named cboFilter
and if I changed the index to LOGIN
the data that will show on the dataGridView1
is only LOGINs.
推荐答案
尝试以下操作:
DataTable dt = new DataTable();
private void cboFilter_SelectedIndexChanged(object sender, EventArgs e)
{
DataView dv = dt.DefaultView;
dv.RowFilter = string.Format("TRANSACTYPE LIKE '%{0}%'", cboFilter.SelectedItem.ToString());
dataGridView1.DataSource = dv;
}
这篇关于如何使用ComboBox过滤DataGridView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文