Thema: Delphi dynamisches Stringgrid

Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#9
  Alt 30. Jun 2003, 12:33
Zitat von Jens Schumann:
ich poste niemals ungetesteten Code..
Echt ? Ich mach das immer.

Im Ernst: Habe gar nicht mehr an den Thread gedacht. Deine Vorlage war gut, ich habe es aber etwas anders gemacht.

1. FlastRow und FLastCol brauche ich nicht
2. Das ganze steht im OnKeyDown

ungefähr so :

Delphi-Quellcode:
procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if not (key in [48..58,8,13]) then
    key := 0;
  with StringGrid1 do begin
    case key of
      VK_RETURN : begin

        if cells [4,RowCount-1] <> 'then begin
.....
          Transaction.Commit;
          RowCount:=RowCount+1; // neue Zeile
          Row:=RowCount-1; // aktuelle Zeile neu positionieren
          Col := 1; // auch in Spalte 1
          i := i + 1; // Zeilenzähler um 1 erhöhen
          Cells [0,Row] := IntToStr (i)+'.';
        end;
      end;
      VK_ESCAPE : Close;
    end;
  end;
end;
Das ist natürlich nicht alles, ein Haufen SQL-Anweisungen fehlt usw.
Das Grid verhält sich folgendermaßen:

1. Nur Zahlen werden akzeptiert
2. Mit Return kann durch die Eingabefelder gewandert werden
3. in Col 0 wird ein Zähler mitgeschleppt, um anzuzeigen, an welcher Position man ist.
4. ESC heißt Eingabe beenden

[edit=Daniel B]Delphi-Tags gesetzt. MfG Daniel B.[/edit]
Gruß
Hansa
  Mit Zitat antworten Zitat