Einzelnen Beitrag anzeigen

Hansa

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

Re: Ereignis wenn Eingabe in einem StringGrid beendet, wie?

  Alt 30. Mai 2006, 02:21
Zitat von Takeshi:
Ich möchte aber gerne erst das Query starten wenn der Benutzer fertig ist mit seiner Eingabe...Jemand eine Idee, schlaue Anmerkung oder Alternative dazu?
Da gibts einiges. 8) Vermutlich soll das so was wie Excel, mit "richtiger" DB werden ? Ich sags Dir gleich : das wird nicht einfach ! Du mußt das Grid zellenweise behandeln. Z.B. so :

Delphi-Quellcode:
procedure Tfrm.sgKeyPress(Sender: TObject; var Key: Char);
begin
  inherited;
  with Sender as TStringGrid do begin
    if Col = EingCol then begin
      case key of
        #13 : begin
...
Bei mir war noch gefordert, einiges an diversem optischen Schnickschnack einzubauen. In Abhängigkeit von verschiedenen Zell-Werten einzelne Zellen zu sperren. Je nach Spalte auch Funktionstasten zuzulassen usw. Prinzipiell gibt es dazu 2 grundsätzliche Möglichkeiten : du schreibst die gewünschten Eigenschaften in die Zelle selbst und wertest das dann aus. D.h. "1" : Eingabe erlaubt und "0" : keine Eingabe. Erfordert intensive Nutzung von OnDrawCell, denn die 1/0 soll man ja nicht sehen. Daß OnSelectCell und OnKeypress verwendet werden müssen, dürfte wohl klar sein. Sind viele verschiedene Eigenschaften gefordert läuft das in Richtung Bitmuster. Eine Alternative wäre noch die Eigenschaft "Objects" des Stringgrids. So wurde das hier letztenendes auch gemacht. Jede Zelle hat einen eigenen Record, in dem die gewünschten Eigenschaften drinstehen.
Gruß
Hansa
  Mit Zitat antworten Zitat