Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: SQLite + DBGrid + Sortieren über Spalten Click

  Alt 17. Jan 2014, 06:36
Bei ADO geht das auch (in-Memory sorting),indem Du die Eigenschaft 'IndexFieldNames' belegst (Feldnamen durch Semikolon getrennt).

Allgemein gesehen ist es ziemlicher Blödsinn, die Daten vom Server sortieren zu lassen. Sortieren ist doch ein wenig Ressourcenfressend und so ein DB-Server ist dafür eigentlich zu schade. Und wenn Du nun mal nicht eine SQLite-DB hast, sondern später mal eine richtige DB, bei der mehrere Leute dran sitzen und die klicken munter auf die Sortierspalten, dann ist der Server so mit Sortieren beschäftigt, das er andere Sachen nicht mehr zeitnah hinbekommt.
Lieber heute richtig anfangen, als sich morgen falsche Sachen angewöhnt haben. Nur in sehr seltenen Fällen, nämlich wenn die anzuzeigende Tabelle soviele Daten enthält, das Du die gar nicht alle in den lokalen Speicher bekommst, sollte man das dem Server überlassen. Dann aber auch nur mit Index auf jeder Spalte, was auch wieder behämmtert ist (Stichwort: Index-Shotgun).

Richtig ist, ein Grid oder ein in-Memory Dataset zu verwenden, das das Sortieren eben lokal erledigt. Warum auch nicht, denn die Daten sind doch eh schon da. Nur das dämliche TDBGrid kann das eben nicht.

Wenn deine TDataset-Komponente das nicht kann, dann kopiere die Daten in ein TClientDataset, das kann -glaube ich zumindest- sortieren.

Edit: Hab gerade 'UniDac' gelesen.. Na dann gehts ja.
  Mit Zitat antworten Zitat