Also dieses Filter-Gedöns wird von
TDataSet
zwar eingeführt, ist aber nur virtuell.
Das Setzen der
Filter
-Eigenschaft setzt auch nicht die Eigenschaft
Filtered
gesichert wieder auf
false
. Jedenfalls passiert das
nicht in
TDataSet
.
Jede Ableitung von
TDataSet
muss sich also selber darum kümmern, ob und wenn ja wie sie sich darum kümmert. Daran hängt eben auch, wie die Syntax des Filter-Texts sein muss.
Kann man z.B. im Source von
TClientDataSet.SetFilterText sehen.
Pauschale Aussagen zum Thema
TDataSet.Filter,
TDataSet.Filtered erschöpfen sich also darin, dass es diese Eigenschaften gibt und dass es auch Komponenten gibt, bei denen man diese Eigenschaften sinnvoll zum Filtern verwenden kann.
Und selbst
TDataSet.OnFilterRecord muss von den abgeleiteten Klassen implementiert werden, damit sich da überhaupt etwas regt.
Ein Blick auf die
Historie von mydac zeigt einem auch so einige Einträge bzgl. der Filter-Eigenschaft
Zitat:
- Support for the BETWEEN statement in TDADataSet.Filter is added
- Bug with using the LIKE clause in a dataset filter is fixed
- Bug with using case-insensitive filter is fixed
- ...