![]() |
Datenbank: dBase • Zugriff über: TDBF
Locate im Zusammenhang mit ab- und aufsteigender Sortierung
Hallo,
ich lade eine DBase-Tabelle in einem DBGrid. Wenn der Anwender mit der Maus auf die Titelleiste klickt, soll es entweder aufsteigend oder absteigend sortiert werden. Nun, dies funktioniert soweit prima. Zusätzlich gibt es eine Edit-Feld, worin der Benutzer die Anfangsbuchstaben z.B. eines zu suchenden Namen eingeben kann. Ist der Index aufsteigend sortiert, klappt es prima, d.h. z.B. Eingabe von "m" und das DBGrid springt zum ersten Namen, der mit "m" beginnt. Sobald jedoch der Index absteigend sortiert ist, wird erst zum richtigen Datensatz gesprungen, wenn der zu suchende Name komplett in das Edit-Feld eingegeben wurde. z.B. Name = "mustermann" => erst bei vollständiger Eingabe von "mustermann" wird auf den Datensatz gesprungen (natürlich vorausgesetzt, dass der Name in der Datenbank existiert) Wieso ist das so? Gibt es dafür eine Lösung? Hiermit wird entweder ab- oder aufsteigend sortiert:
Delphi-Quellcode:
Das steht in meiner "OnChange" - Routine vom Edit-Feld:
...
with KundenDbf do ... if absteigend then AddIndex('IDXNAME','NAME',[ixDescending]) { Sortierreihenfolge absteigend } else AddIndex('IDXNAME','NAME',[]); { Sortierreihenfolge aufsteigend } ... end; ...
Delphi-Quellcode:
Gruß
...
MainForm.KundenDbf.Locate('NAME',NameSuchEdit.Text,[loCaseInsensitive,loPartialKey]); ... Crowbar |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz