Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 

Re: TDBGrid -> Zeile markieren

  Alt 26. Nov 2007, 14:40
Zitat von Delphi-Hilfe:
Mit der Methode Locate können Sie einen Datensatz in der Datenmenge suchen und ihn zum aktuellen Datensatz machen.

Delphi-Quellcode:
function Locate(const KeyFields: String; const KeyValues: Variant; Options: TLocateOptions
): Boolean;
Beschreibung

Mit Locate können Sie einen Datensatz in einer Datenmenge suchen und den Cursor auf diesen Datensatz setzen. KeyFields ist ein String mit einer durch Semikolons getrennten Liste der Felder, die durchsucht werden sollen.

KeyValues ist ein variantes Array mit den Werten, die in den Schlüsselfeldern gesucht werden sollen. Wenn KeyField ein einzelnes Feld enthält, gibt KeyValue den Wert für dieses Feld im gewünschten Datensatz an. Um mehrere zu suchende Werte festzulegen, übergeben Sie ein variantes Array als KeyValues oder erstellen ein variantes Array mit der Routine VarArrayOf. Ein Beispiel:

Delphi-Quellcode:
with CustTable do
  Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '408-431-1000']), [loPartialKey]);
Options ist eine Menge, mit der die Suche in Stringfeldern genauer definiert werden kann. Enthält Options das Flag loCaseInsensitive, berücksichtigt Locate die Groß-/Kleinschreibung nicht. Enthält Options das Flag loPartialKey, werden teilweise Übereinstimmungen in den Strings von KeyValues gesucht. Enthält Options eine leere Menge oder handelt es sich bei der Eigenschaft KeyFields nicht um Stringfelder, wird Options ignoriert.

Wird ein übereinstimmender Datensatz gefunden, gibt Locate den Wert True zurück und aktiviert den gefundenen Datensatz. Andernfalls wird False zurückgegeben.

Bei der Suche nach übereinstimmenden Datensätzen wird die schnellste Methode verwendet. Sind die Suchfelder in KeyFields indiziert und ist der Index mit der angegebenen Suchoption kompatibel, wird der Index verwendet. Andernfalls wird für die Suche ein Filter erstellt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat