Tienes razon, de un datagridview no se puede.
Pero si sacamos los datos del DataGridView, es decir el DataSource y con eso se puede hacer como un tipo query por ejemplo:
Código C#:
Ver originalDataTable boundTable = dgToolRoom.DataSource as DataTable;
if (cmbStatusTR.SelectedItem != null)
{
IEnumerable<DataRow> query = from dt in boundTable.AsEnumerable()
where dt.Field<string>("Status") == txtFiltro.Text
select dt;
boundTable = query.CopyToDataTable<DataRow>();
}
dgToolRoom.DataSource= boundTable;
Espero que aya servido