![]() |
StringGrid Zeile per Mausclick auslesen
Hallo Leute,
bin ein Newbie und habe folg. Problem: Über Editfelder werden Daten in ein StringGrid eingelesen, gespeichert und sortiert. Habe auch `ne Suche, die gewünschte Datensätze in den Editfeldern ausgibt. Möchte nun zusätzlich, dass beim anklicken einer Zeile die Editfelder mit den entsprechenden Daten gefüllt werden. Wie krieg ich das hin? (Options.goRowSelect ist true) |
Re: StringGrid Zeile per Mausclick auslesen
Hallo,
du könntest mit dem Event/Ereignis OnSelectCell arbeiten:
Delphi-Quellcode:
Dort wird dir die markierte Zeile und Spalte übergeben.
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean); begin end; Grüße Klaus |
Re: StringGrid Zeile per Mausclick auslesen
Danke für den Tipp,
komme heute leider nicht mehr dazu, es auszuprobieren. Melde mich morgen wieder mit dem Ergebnis. Schönes WE |
Re: StringGrid Zeile per Mausclick auslesen
Nach reichlich Bastelei bin jetzt soweit, das was ausgegeben wird.
Aber: wg. zeile
Delphi-Quellcode:
wird immer der erste Datensatz ausgegeben.
ARow:=Filepos(ChemDat)+1;
Wie krieg ich den aktuellen (angeklickten) Datensatz? Hier der Code
Delphi-Quellcode:
Wäre prima, wenn jemand `nen Tipp hätte.
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean); begin If CanSelect=True then seek(ChemDat,0); with Chem do ARow:=Filepos(ChemDat)+1; begin read(ChemDat,Chem); EditNr.Text:=(StringGrid1.Cells[1,ARow]); EditName.Text:=StringGrid1.Cells[2,ARow]; DateTimePicker1.Date:=StrToDate(StringGrid1.Cells[4,ARow]); end; end; |
Re: StringGrid Zeile per Mausclick auslesen
Zitat:
|
Re: StringGrid Zeile per Mausclick auslesen
Oh Mann was bin ich doof.
Zeile entfernt und schon klappt es. Besten Dank BTW Möchte den in den Edit-Feldern angezeigten Datensatz im StringGrid löschen. Wie stelle ich das an? |
Re: StringGrid Zeile per Mausclick auslesen
Spontan würde ich sagen:
- StringGrid zeilenweise durchlaufen und Inhalte vergleichen - wenn gefunden, dann nachfolgende Zeilen aufrücken lassen und RowCount neu setzen |
Re: StringGrid Zeile per Mausclick auslesen
Ein Datenvergleich ist m.E. nicht nötig. Habe die Daten im Edit. Demzufolge müsste der Zeiger doch auf diesen bzw. den nächsten Datensatz zeigen.
Ergo: Filepos irgendwie auswerten und anschließend RowCount um 1 zuurücksetzen und dann das Grid neu einlesen. Soweit meine Idee. Aber mit der Umsetzung haperts. |
Re: StringGrid Zeile per Mausclick auslesen
Nochmal zum Verständnis: wenn Du eine Zelle im StringGrid anklickst, werden dessen Daten in den Edits angezeigt?
|
Re: StringGrid Zeile per Mausclick auslesen
Habs nochmal gecheckt. Egal, welche Zelle ich anklicke, der entsprechende Datensatz wird in den Edits gezeigt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 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