Delphi-PRAXiS

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/)
-   -   Stringgrid Mehrfachselektion (https://www.delphipraxis.net/153588-stringgrid-mehrfachselektion.html)

David Martens 9. Aug 2010 18:07

Stringgrid Mehrfachselektion
 
Ich suchen nach einem Weg wie ich
1. in einem Stringgrid mehrere (z.T. voneinander gerennte) Zeilen selektieren kann und
2. schnell alle vorkommenden Indizes eines Teilstring in einer Stringliste (eine Spalte im StringGrid) finde.

Konkret habe ich eine Schnellsuche in die ich ein Teilstring eintragen kann (Editfeld). Im Stringgrid sollen alle Zeilen markiert werden in denen, in einer bestimmten Spalte, dieses Teilstring vorkommt.

2. kann ich "händisch" machen. so in etwa:
Delphi-Quellcode:
if Pos(Text, FGrid.Cells[iCol, iRow]) > 0 then ...
aber vielleicht gibt es ja einen schnelleren Weg.

1. macht mir da mir da mehr Sorgen. Geht das überhaupt mit dem normalen Stringgrid?

Gruß David

Klaus01 9. Aug 2010 20:40

AW: Stringgrid Mehrfachselektion
 
Guten Abend,

habe hier etwas gefunden.
Dort wird ein zusätzliches Array benutzt um
die selektierten Reihen zu speichern.

Grüße
Klaus

freejay 10. Aug 2010 10:05

AW: Stringgrid Mehrfachselektion
 
Da Du nach Teilstrings suchst, gibt's glaube ich keine einfache andere Möglichkeit. So ist es ja auch nur ein 3-Zeiler. Aber wenn Dein Grid nich mehrere 10.000 Zeilen hat, sollte das Performance-technisch auch kein Problem sein.

Allerdings kann das normale StringGrid nach meinem Wissen keine verschiedenen unzusammenhängenden Bereiche markieren. Du kannst also nur eine Zeile oder einen ganzen Block von Zeilen markieren, außer Du arbeitest irgendwie mit OwnerDraw.

Ich benutze seit Jahren nur noch das AdvStringGrid von TMS: Da kann man verschiedene Zeilen selektieren (und noch viel mehr...). Das Grid kann z.B. selbsttätig einen gesuchten Teilstring in allen gefundenen Zellen markieren etc.

David Martens 10. Aug 2010 11:36

AW: Stringgrid Mehrfachselektion
 
Das AdvStringGrid benutzen wir auch schon länger, aber da passiert mir zu viel im Hintergrund. Das Debugging ist ein Graus und so manche Einstellungen haben komische Nebeneffekte. Ich wollte mich davon unabhängig machen.

Ich hab das StringGrid eh schon abgeleitet für ein OnFocusLost. Ich werden dann die Variante mit dem zusätzlichen Array verwenden.

Gruß David

freejay 10. Aug 2010 11:49

AW: Stringgrid Mehrfachselektion
 
Zitat:

Zitat von David Martens (Beitrag 1040773)
Das AdvStringGrid benutzen wir auch schon länger, aber da passiert mir zu viel im Hintergrund.

Ist mir persönlich egal. Ich habe keinerlei puristischen Programmieransatz. Im Gegenteil: Wenn ein anderer das Rad schon erfunden hat, dann brauch ich das nicht nochmal zu tun. Das langweilt mich nicht nur sondern kostet auch wertvolle Zeit, die ich in Funktionalität und Ergonomität der Anwendung stecken kann.

Zitat:

Zitat von David Martens (Beitrag 1040773)
so manche Einstellungen haben komische Nebeneffekte.

Das ist allerdings manchmal ein bisschen undurchsichtig... :? aber der Emailsupport von TMS ist wirklich gut. (just my two cents)

Dann viel Spaß mit Deiner Array-Lösung!


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:38 Uhr.

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