Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TDBGrid -> Zeile markieren (https://www.delphipraxis.net/104033-tdbgrid-zeile-markieren.html)

HolgerCW 26. Nov 2007 13:13

Datenbank: ORACLE • Version: 9 • Zugriff über: BDE

TDBGrid -> Zeile markieren
 
Hallo zusammen,

wie kann man in einem TDBGrid die Zeile markieren, wo z.B. in der ersten Spalte eine '1' steht ?

Gruss

Holger

DeddyH 26. Nov 2007 13:15

Re: TDBGrid -> Zeile markieren
 
Indem Du in der zugrundeliegenden Datenmenge auf den passenden Datensatz navigierst.

HolgerCW 26. Nov 2007 13:16

Re: TDBGrid -> Zeile markieren
 
Ein kleiner Tip vielleicht ? ;)

Spalte heisst 'ID' ... Komme einfach nicht drauf

Gruss

Holger

DeddyH 26. Nov 2007 13:22

Re: TDBGrid -> Zeile markieren
 
Locate z.B.

HolgerCW 26. Nov 2007 14:28

Re: TDBGrid -> Zeile markieren
 
So klappt es nicht:

Delphi-Quellcode:
DBGrid.DataSource.DataSet['ID'].Locate('1');
Gruss

Holger

DeddyH 26. Nov 2007 14:40

Re: TDBGrid -> Zeile markieren
 
Zitat:

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.


HolgerCW 26. Nov 2007 15:19

Re: TDBGrid -> Zeile markieren
 
Danke, ich habe es nun:

Delphi-Quellcode:
DBGrid.DataSource.DataSet.Locate('ID', STGrid.Cells[366,STGrid.Row], [loPartialKey]);
Gruss

Holger


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:16 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