Click here to Skip to main content
15,891,943 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
hi Developers,

I am creating winform application.In that i have a DataGridview.I want to keep first row as filter row,so user can write and filter rows of Grid.I have coded something like following.It works but when i filter it loss Grid's filter row.Please give me any suggestion.Thanks in advance.

C#
Private Void LoadGridData()

{

dataGridView.DataSource = table;

table.Rows.InsertAt(table.NewRow(), 0);

dataGridView.Rows[0].Frozen = true;

dataGridView.Rows[0].ReadOnly = false;

dataGridView.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(dataGridView_EditingControlShowing);
}

private void dataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)

{

txt_edit = e.Control as TextBox;

if (txt_edit != null)

{

txt_edit.TextChanged += new EventHandler(TextChangedEventHandler);

}

}

//((DataTable)dgvData.DataSource).DefaultView.RowFilter = filter;

private void TextChangedEventHandler(object sender, EventArgs e)

{

try

{

string columnName = dataGridView.CurrentCell.OwningColumn.Name.ToString();

DataView dv = ((DataTable)dataGridView.DataSource).DefaultView;

dv.RowStateFilter = DataViewRowState.Unchanged;

dv.RowFilter = "Convert(" + columnName + ", 'System.String') LIKE '%" + txt_edit.Text + "%'";

}

catch (Exception ex)

{

throw ex;

}

}
Posted
Updated 1-Oct-13 4:37am
v2
Comments
TryAndSucceed 1-Oct-13 13:09pm    
Are you adding filter row again after Text Changed?
Surendrasinh Rathod 2-Oct-13 1:45am    
no i have not added.
TryAndSucceed 2-Oct-13 10:44am    
Try adding your filter row again when Text is changed. Dont use LoadGridData Method in your TextChanged Event. It will cause a loop.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900