Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi (Adv)StringGrid Tastendruck (https://www.delphipraxis.net/179782-adv-stringgrid-tastendruck.html)

DelTurbo 1. Apr 2014 13:09

(Adv)StringGrid Tastendruck
 
Hi,
sorry wenn das Topic nicht deutlich ist. Aber ich weiß nicht wie man das nennt. Und zwar folgendes:

Ich habe ein AdvStringGrid (TMS) mit 5 Spalten und nach der ersten Spalte sortiert. Nun möchte ich, wenn ich z.b. m drücke, das er zu dem ersten eintrag mit m als anfangs Buchstabe springt. Wie geht das? Ist das eine StringGrid Funktion?

Ich hoffe das war einigermaßen verständlich :?

Vielen dank im voraus

Harry Stahl 1. Apr 2014 20:22

AW: (Adv)StringGrid Tastendruck
 
Ist schon verständlich, habe das genauso in einem meiner Programme implementiert (mit dem AdvStringGrid).

So weit ich weiß, geht das nicht automatisch, hatte da jedenfalls auch nichts passendes gefunden.

Ich durchlaufe daher in meinem Programm die Datenquelle und ermittle quasi die Zeilennummer, in welcher der eingegebene Buchstabe mit dem ersten passenden Eintrag (Anfangsbuchstaben) zu finden ist.

Dann stelle ich Selektionszeile auf diese Zeilennummer.
Dann merke ich mir diese Zeile, in einer globalen bzw. Formvariablen.

Die kann ich dann benutzen, falls der User direkt hinterher noch mal den gleichen Buchstaben eingibt. Denn dann beginne ich die Suche nicht von vorne, sondern ab der gemerkten Stelle, bzw. eine Zeile dahinter.

DelTurbo 2. Apr 2014 08:03

AW: (Adv)StringGrid Tastendruck
 
Ich dachte da gäbe es ein Flag. Weil grade das AdvStringGrid sehr sehr viel kann. Teilweise schon zuviel.

Aber dann brauche ich ja nicht weiter suchen. Dann werde ich das auch "zu fuß" machen.

Vielen dank für die Hilfe

mquadrat 2. Apr 2014 08:19

AW: (Adv)StringGrid Tastendruck
 
Ich will mich nicht zu arg aus dem Fenster lehnen, aber ich meine das wäre in irgendeiner Version dazu gekommen. Das Ding kann inzwischen leider so viel, dass man gar keinen Überblick mehr hat.

DelTurbo 2. Apr 2014 08:37

AW: (Adv)StringGrid Tastendruck
 
Zitat:

Zitat von mquadrat (Beitrag 1254352)
Das Ding kann inzwischen leider so viel, dass man gar keinen Überblick mehr hat.

Ich finde, das ist das hauptproblem vom AdvStringGrid.

kretabiker 2. Apr 2014 08:43

AW: (Adv)StringGrid Tastendruck
 
Evtl. ist dafür der SearchFooter des Grids geeignet. Über die Properties SearchFooter.SearchColumn und SearchFooter.SearchMatchStart sollte sich das gewünschte Verhalten erzeugen lassen. Nachteil: Die Eingabe erfolgt in einer speziellen Suchzeile und nicht "irgendwo" im Grid.

Ob das so paßt, mußt du entscheiden.

rapante 2. Apr 2014 08:45

AW: (Adv)StringGrid Tastendruck
 
Hi,
das ist wahrscheinlich nicht genau das was du suchst, aber schau dir mal den SearchFooter
des AdvStringGrids an, falls du das noch nicht kennst. Ich bin letztens darüber "gestolpert"
und war erstaunt was das Ding alles von Haus aus kann :D

DelTurbo 2. Apr 2014 08:54

AW: (Adv)StringGrid Tastendruck
 
Das kenne ich. Aber das ist ja eine "richtige" suche. Ich wollte halt nur so ein "schnell zu m springen" Funktion. Und weil das eigentlich in alle Programmen enthalten ist, dachte ich das es das gibt und ich würde es nur nicht finden.

Aber das jeder es neu proggt wusste ich nicht.

Gruß

rapante 2. Apr 2014 09:14

AW: (Adv)StringGrid Tastendruck
 
Mmmh, dann wäre es wohl am einfachsten im OnKeyPress die Find-Funktion des Grids aufzurufen:
Delphi-Quellcode:
  AdvStringGrid.Find(Point(0,0), key, [fnMatchStart, fnAutoGoto])

DelTurbo 3. Apr 2014 09:39

AW: (Adv)StringGrid Tastendruck
 
Zitat:

Zitat von rapante (Beitrag 1254365)
Mmmh, dann wäre es wohl am einfachsten im OnKeyPress die Find-Funktion des Grids aufzurufen:
Delphi-Quellcode:
  AdvStringGrid.Find(Point(0,0), key, [fnMatchStart, fnAutoGoto])

Das klappt super. Das war genau das was ich wollte. Und danke an alle die geholfen haben :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:25 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz