Filtrar BindingSource quando DataSource é um BindingList

Eu li de uma planilha do Excel e escrevi isso para um BindingList, no Form_Load isso é definido como um 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

Este trabalho está bem! Eu pretendo criar uma caixa de combinação como filtro para este DataGridView gvFiltro, portanto, no evento SelectedIndexChanged da caixa de combinação, tento o seguinte:

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();

Mas o DataGridView não muda. Eu perdi alguma coisa?