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.