In order for an existing filter to be preserved by a filterbar filter, the existing filter has to have been applied before the filterbar was wired. Here is a sample showing this working. The datatable has 50 rows but comes up with only 46 becuse Col1 is filtered initially to not show 1's.
If you cannot have the original filter applied during the wiring of the filterbar for some reason, you can subscribe to the FilterBarFilterCompleted event and reapply both the filterBar filter and your original filter. Here is a little code.
void filterBar_FilterBarFilterCompleted(object sender, GridFilterBarTextChangedEventArgs e)
{
CurrencyManager cm = gridDataBoundGrid1.BindingContext[gridDataBoundGrid1.DataSource, gridDataBoundGrid1.DataMember] as CurrencyManager;
DataView dv = cm.List as DataView;
string yourFilterString = "[Col1] = 1";
dv.RowFilter = string.Format("({0}) AND ({1})", dv.RowFilter, yourFilterString);
}
WindowsApplication25 (2).zip