![]() |
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 |
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. |
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: ?? |
Re: Zellen eines StringGrids automatisch markieren
Moin Pascal,
ist es im Bereich des Möglichen anzusiedeln, dass Du nicht TStringGrid, sondern TDBGrid meintest? ;-) |
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
|
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? |
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:
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:
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;
Delphi-Quellcode:
markiere ich dann die entsprechende Zeile.
StringGrid1.Selection := TGridRect(Rect(1,1,1,i)));
Gruß Pascal |
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 23:58 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