Einzelnen Beitrag anzeigen

Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#4

AW: neue Zeile im StringGrid -> Datum wird in allen Zeilen neu geschrieben :-(

  Alt 20. Dez 2013, 02:38
Hallo,

Zitat:
wieso ändert sich das Datum in allen Zeilen ?
Wenn Du über alle (nicht fixe) Zeilen Deines StringGrids iterierst und den Zellenwert überschreibst, dann hat das so schon seine Richtigkeit - oder nicht?
Zitat:
Was ist hier noch falsch?
Leider kann ich anhand Deines Codefragments nicht so richtig erkennen was Du eigentlich erreichen möchtest; wenn Du lediglich eine weitere Zeile "als erste Zeile" im StringGrid hinzufügen möchtest, dann vielleicht so (aber da hätte Dir bauminas Link eigentlich schon weiterheften müssen):
Delphi-Quellcode:
 
procedure TForm1.Button1Click(Sender: TObject);
var
  i : integer;
begin
  StringGrid1.RowCount := StringGrid1.RowCount + 1;
  for i := StringGrid1.RowCount - 1 downto StringGrid1.FixedRows + 1 do
    StringGrid1.Rows [i].Assign (StringGrid1.Rows [i - 1]);

  StringGrid1.Rows [StringGrid1.FixedRows].Clear;
  StringGrid1.Cells [3, StringGrid1.FixedRows] := FormatDateTime ('hh:nn:ss', Now)
end;
  StringGrid1.RowCount := StringGrid1.RowCount + 1; "Hängt" eine neu (leere) Zeile am Ende des StringGrids ein - mehr nicht. Es werden keine Zelleninhalte verschoben oder ähnliches. Mit:
Delphi-Quellcode:
  for i := StringGrid1.RowCount - 1 downto StringGrid1.FixedRows + 1 do
    StringGrid1.Rows [i].Assign (StringGrid1.Rows [i - 1]);
"Schieben" wir nun die Inhalte der entsprechenden Zeilen nach unten. Ein:
  StringGrid1.Rows [StringGrid1.FixedRows].Clear; stellt sicher, dass die Spalten der ersten Zeilen allesamt "leer" sind. Und: Mit:
  StringGrid1.Cells [3, StringGrid1.FixedRows] := FormatDateTime ('hh:nn:ss', Now) füllen wir die entsprechende Zelle mit dem gewüschten Wert.
Gruß
Volker Zeller
  Mit Zitat antworten Zitat