Thema: Delphi neue Zeile im Stringgrid

Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

neue Zeile im Stringgrid

  Alt 4. Dez 2004, 20:45
Hi,

vielleicht kann sich das mal jemand ansehen :

Delphi-Quellcode:
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then begin
    if StringGrid1.Col = 1 then with StringGrid1 do begin
      if col = 1 then
        Col := 4
    end
    else if StringGrid1.Col = 4 then with StringGrid1 do begin
      if ((StringGrid1.Row ) mod 2 <> 0) then begin
        StringGrid1.RowCount := StringGrid1.RowCount+1;
        StringGrid1.Row := StringGrid1.RowCount - 2;
      end
      else
        StringGrid1.Row := StringGrid1.RowCount - 1;
      StringGrid1.RowCount := StringGrid1.RowCount+1;
      Col := 1;
    end;
  end;
end;
Es geht um ein Stringgrid, wobei die Spalten 1 und 4 zur Eingabe dienen. Mit Return soll von Spalte 1 in 4 gewechselt werden, sofern das in Spalte 1 gedrückt wird.

Wird Return in Spalte 4 gedrückt, so soll folgendes passieren : abwechselnd soll man in die nächste Zeile gelangen oder aber zuerst wird eine Leerzeile erzeugt und dann noch eine Zeile in der der Cursor dann steht. Ungefähr in diesem Stil :

Code:
xxxx                xxxx
xxxx                xxxx
leere Zeile
xxxx                xxxx
xxxx                xxxx
leere Zeile
usw.

Mit obigem Code sieht es so aus :

Code:
xxxx                xxxx
xxxx                xxxx
xxxx                xxxx
leere Zeile
xxxx                xxxx
xxxx                xxxx
xxxx                xxxx
leere Zeile
usw.

Wo ist da jetzt der Fehler, daß eine Zeile zuviel angezeigt wird, bzw. die Leerzeile zu spät ?
Gruß
Hansa
  Mit Zitat antworten Zitat