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/)
-   -   Delphi Zellen eines StringGrids automatisch markieren [erledigt] (https://www.delphipraxis.net/19454-zellen-eines-stringgrids-automatisch-markieren-%5Berledigt%5D.html)

Passi 3. Apr 2004 17:48


Zellen eines StringGrids automatisch markieren [erledigt]
 
Hallo ihr,

habe hier ein StringGrid. Wenn das Formular aktiviert wird, möchte ich, dass eine bestimmte Zelle bzw. Zeile in meinem StringGrid markiert ist. Der Inhalt kann aber immer etwas anders sein, wenn ein neuer Datensatz hinzukommt:

14
23
35
46

Dann möchte ich immer die Zeile markieren in der die Zahl "23" steht. Es kann aber auch mal so aussehen:

14
19
23
35
46

Sprich die "23" steht nicht immer in der selben Zeile... (einmal in der 2. , einmal in der 3.)

Also gibts irgendwie einen Befehl, der jede Zeile des StringGrids auf den Inhalt überprüft und dann immer die Zeile, mit dem gewünschten Inhalt markiert??

Wie muss jetzt mein onActivate Teil aussehen?

Danke für jede Hilfe!!

Gruß
Pascal

Christian Seehase 3. Apr 2004 21:03

Re: Zellen eines StringGrids automatisch markieren
 
Moin Pascal,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Du könntest Dir ja schon beim Einlesen der Daten merken in welcher Zeile die 23 eingetragen wird, und diese dann markieren.

Passi 3. Apr 2004 21:17

Re: Zellen eines StringGrids automatisch markieren
 
Danke, für deine Antwort und für den Empfang :)

Um auf deinen Tipp zurückzukommen:
Also wenn ich Daten in eine Datenbank schreibe und diese dann nach Alphabet sortiere, wie bekomme ich denn dann heraus um den wievielten Datensatz es sich in der Tabelle/Datenbank handelt :roll: ??

Christian Seehase 3. Apr 2004 21:56

Re: Zellen eines StringGrids automatisch markieren
 
Moin Pascal,

ist es im Bereich des Möglichen anzusiedeln, dass Du nicht TStringGrid, sondern TDBGrid meintest? ;-)

Passi 3. Apr 2004 22:21

Re: Zellen eines StringGrids automatisch markieren
 
Nein nein, ich meine schon ein TStringGrid. Ich arbeite mit einer Sql-Datenbank und lasse dort die Datensätze einzeln ausgeben. Mit einem DBGrid würde das alles nicht so funktionieren , wie ich mir das vorstelle :o

Christian Seehase 4. Apr 2004 01:21

Re: Zellen eines StringGrids automatisch markieren
 
Moin Pascal,

dann musst Du doch eine Routine haben, in der Du das StringGrid füllst... :gruebel:
Wie sieht die ungefähr aus?

Passi 4. Apr 2004 09:57

Re: Zellen eines StringGrids automatisch markieren
 
Guten Morgen,

danke für deine Hilfe, aber ich saß gestern noch bis spät in der Nacht dran und habe es dann doch noch gelöst bekommen. und zwar hab ich das mit einer while-schleife gemacht:
Delphi-Quellcode:
i := 1;
Form1.Query2.Active:=false;
Form1.Query2.Sql.Clear;
Form1.Query2.Sql.Add('SELECT DISTINCT(Bereich) FROM adressen.db ORDER BY Bereich ');
Form1.Query2.Active:=true;
anz := Form1.query2.RecordCount;
while NOT (Form1.query2.fieldbyname('Bereich').asstring = combobox1.text) do
   begin
      i := i+1;
      Form1.Query2.Next;
   end;
Die Schleife wird also so oft ausgeführt bis der Eintrag der Datenbank mit dem Inhalt des Feldes ComboBox1 übereinstimmt. Die Markierung setze ich dann mithilfe der Variablen i folgender Maßen:
Delphi-Quellcode:
StringGrid1.Selection := TGridRect(Rect(1,1,1,i)));
markiere ich dann die entsprechende Zeile.

Gruß Pascal

Sharky 4. Apr 2004 10:01

Re: Zellen eines StringGrids automatisch markieren
 
Hai Passi,

ich würde aber nicht die Datenbank durchlaufen sondern einfach das StringGrid. Das ist doch viel einfacher und schneller.


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