que tal compañero, lo que puedes hacer es actualizar el dataset al que esta ligado tu dbgrid. en el mismo codigo de tu boton.
Código Delphi
[-]dataset.close;
dataset.open;
y listo la dbgrid se va a actualizar.
o bien puedes hacer
Código Delphi
[-]
dataset1.Close;
dataset1.SelectSQL.Clear;
dataset1.SelectSQL.Text := 'select * from compras, proveedor where compras.fk_proveedor = proveedor.id_proveedor ' + filtro;
dataset1.Open;
saludos...