Code Heaven For C# Developer

Wednesday, June 2, 2010

Listview filtering based on text entered in textbox in c#

take a listview on window form.fire textBox1_TextChanged event and form load event.



public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
DataTable dt;
private void Form1_Load(object sender, EventArgs e)
{
dt = new DataTable();
dt.Columns.Add("Id", typeof(string));
dt.Columns.Add("Name", typeof(string));

dt.Rows.Add("1", "Anubhav");
dt.Rows.Add("2", "Anuj");
dt.Rows.Add("3", "Abhishek");
dt.Rows.Add("4", "Basant");
dt.Rows.Add("5", "Paras");
dt.Rows.Add("6", "Sumit");
dt.Rows.Add("7", "Sanjeev");

listView1.View = View.Details;
listView1.Columns.Add("Id");

listView1.Columns.Add("Name");
ShowItem();

}

public void ShowItem()
{

listView1.Items.Clear();
foreach (DataRow rw in dt.Rows)
{
if (rw["Name"].ToString().StartsWith( textBox1.Text))
{
ListViewItem lvi = new ListViewItem(rw["Id"].ToString());
lvi.SubItems.Add(rw["Name"].ToString());
listView1.Items.Add(lvi);
}
listView1.Refresh();
}

}

private void textBox1_TextChanged(object sender, EventArgs e)
{
ShowItem();
}
}

Labels: