Filtrar BindingSource cuando DataSource es una BindingList

Leí de una hoja de Excel y escribí esto para una BindingList, en Form_Load esto se establece en un DataSource como BindingSource:

bd = new BindingSource(); //instance of BindingSource
bd.DataSource = ExcelOPS.LerExcel(); //LerExcel() method return a BindingList<T>

gvFiltro.DataSource = bd; //set a DataGridView named gvFiltro DataSource property
bindNav.BindingSource = bd; //set a BindingNavigator source

¡Esto funciona bien! Intento crear un cuadro combinado como filtro para este DataGridView gvFiltro, por lo que en el evento SelectedIndexChanged del cuadro combinado, intento esto:

this.gvFiltro.DataSource = null;
bd.Filter = string.Format("TAG_FAZENDA like '%{0}%'", cbTagFaz.Text);
gvFiltro.DataSource = bd;
gvFiltro.Update();
gvFiltro.Refresh();

bindNav.BindingSource = bd;
bindNav.Update();
bindNav.Refresh();

Pero el DataGridView no cambia. Me perdí algo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta