I found this to best meet my needs:
the data you want to show in the grid is stored in a BindingList (supports INotifyPropertyCchanged, which is pretty neat when updating the list ....) so somewhere you define this BindingList:
public MyDataList = new BindingList<MyDataItem>();
assign it to the grid data source:
myDataGrid.DataSource = MyDataList;
when the "Filter" button is clicked, or what event you want to do:
myDataGrid.DataSource = MyDataList.Where(ln => ln.propertyname.Contains(textBoxFilter.Text).ToList();
when resetting the filter, the newly installed source
MyDataGrid.DataSource = MyDataList
hope this helps, greetings
source share