Nicht über DBGrid filtern oder suchen, sondern direkt über dem zugrunde liegenden Dataset. Dort kannst du die Eigenschaft
Filter setzen. Nicht vergessen
Filtered auf true zu setzen.
Jedoch prinzipiell, wenn es sich um viele (paar tausend Datensätze und mehr) handelt, würde ich nicht mehr lokal filtern sondern einen angepassten
SQL Befehl neu an den Server schicken.