Se usi un DataTable (o un oggetto "filtrabile") di base per il BindingSource puoi filtrare su questo e riaggoirnare il BingingSource stesso (pseudocodice):
BindingSource.DataSource=DataTable
BindingSource.DataSource=Collection
'.... Fai altro poi filtri il BindingSource attraverso la collection di base...
BindingSource.DataSource=DataTable.Select(StringaLogica)
BindingSource.DataSource=Collection.Filter(StringaLogica)
Se vuoi filtrare perchè il BindingSource è popolato da una tua collection o comunque un oggetto non "filtrabile" devi crearti a mano le logiche per filtrare... Puoi guardare le interfacce che implementa il DataTable per filtrare e prendere come spunto quelle (al volo non le ricordo, eventualmente dopo ci guardo con più calma).
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole