![]() |
StringGrid eingabe an Edit
hi wie kann ich betimmte eingaben in einer gewissen Spalte im StrinGrid an ein Edit weitergeben.
Also wenn ich in z.B. die Spalte 12 zeile xy was eingebe, soll es zur Laufzeit an ein Editfeld gegeben werden. Gruss sascha |
Re: StringGrid eingabe an Edit
Hi,
müsste man das nicht in der OH bei den properties von TStringGrid finden?? :lol:
Delphi-Quellcode:
Edit1.Text:=StringGrid1.Cells[12,xy];
|
Re: StringGrid eingabe an Edit
Hallo Sascha,
wenn du das Ereignis OnSetEditText() des StringGrids verwendest, dann kannst du die Eingabe direkt aus dem Parameter Value übernehmen. Grüße vom marabu |
Re: StringGrid eingabe an Edit
Funktioniert das auch wenn ich in der Spalte 12 in zeile 1,5,7,9 (nur als beispiel) was eingebe, und das es mir nach einander im Editfeld angezeigt wird???
|
Re: StringGrid eingabe an Edit
Warum probierst du es nicht einfach aus?
Nur Mut, der Himmel wird dir schon nicht auf den Kopf fallen. |
Re: StringGrid eingabe an Edit
Hab es mal verucht es wird immer nur die letzte beschrieben zelle ins Edit zurückgegeben
|
Re: StringGrid eingabe an Edit
Bei mir werden die Zelleninhalte in der Reihenfolge der Bearbeitung in das Edit-Control geschrieben:
Delphi-Quellcode:
Egal, in welcher Zelle ich editiere.
procedure TDemoForm.StringGridSetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: String); begin SaschaEdit.Text := Value; end; Wie hast du getestet? |
Re: StringGrid eingabe an Edit
mit überschraibst du natürlich immer den vorherigen Inhalt,
Delphi-Quellcode:
Aber du kannst doch Strings zusammenfügen?
Edit1.Text := StringGrid1.Cells[12, xy];
Delphi-Quellcode:
// Edit leeren
Edit1.Text := ''; // neuen Wert hinten anhängen Edit1.Text := Edit1.Text + ' ' + StringGrid1.Cells[12,xy];
Delphi-Quellcode:
usw.
// 2 Felder in einem Edit
Edit1.Text := StringGrid1.Cells[5,xy] + ' ' + StringGrid1.Cells[12,xy]; |
Re: StringGrid eingabe an Edit
Habe es mal mit allem versucht, beim Value wird es für das ganze StringGrid übernommen und nicht nur für eine ganz bestimmte Spalte und es überschreibt jedesmal das Edit.
Die andere lösung ist sehr aufwendig und es werden immer die lehrzeichen mitgenommen
Delphi-Quellcode:
Gibt es da noch eine andere lösung?????
Edit1.Text := '';
Edit1.Text := Edit1.Text + ' ' + StringGrid1.Cells[12,1]; Edit1.Text := Edit1.Text + ' ' + StringGrid1.Cells[12,2]; Edit1.Text := Edit1.Text + ' ' + StringGrid1.Cells[12,3]; Edit1.Text := Edit1.Text + ' ' + StringGrid1.Cells[12,4]; Edit1.Text := Edit1.Text + ' ' + StringGrid1.Cells[12,5]; Edit1.Text := Edit1.Text + ' ' + StringGrid1.Cells[12,6]; Edit1.Text := Edit1.Text + ' ' + StringGrid1.Cells[12,7]; Edit1.Text := Edit1.Text + ' ' + StringGrid1.Cells[12,8]; Edit1.Text := Edit1.Text + ' ' + StringGrid1.Cells[12,9]; Edit1.Text := Edit1.Text + ' ' + StringGrid1.Cells[12,10]; |
Re: StringGrid eingabe an Edit
Hallo Sascha,
wenn du einfach alle Werte aus einer bestimmten Spalte als String verkettet haben willst, dann geht das auch so:
Delphi-Quellcode:
Getippt und nicht getestet.
var
s: TStrings; begin with TStringList.Create do try Assign(StringGrid.Cols[12]); // Spalte 12 übernehmen Delete(0); // weg mit der Spaltenüberschrift DeinEdit.Text := StringReplace(Text, sLineBreak, '', [rfReplaceAll]); // DeinEdit.Text := CommaText; // oder so // delimiter := ' '; // oder so // DeinEdit.Text := DelimitedText; // ... finally Free; end; end; Freundliche Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 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