Mahlzeit
Frage: Gibt es im DBGrid irgendeine Möglichkeit herauszufinden, welche Spalte zur Zeit aktiv den Editor hat?
Hintergrund: Ich hab ein DBGrid mit mehreren Spalten, und will für eine spezielle Spalte ein OnKeyPress-Event implementieren (Im Prinzip ein "NumbersOnly" aber nur für diese Spalte).
im DBGrid.OnKeyPress-Event bekomme ich Sender As TObject, welches wohl das DBGrid selbst ist.
Wie komme ich aber an die Spalte, welche gerade den Fokus bzw. den Editor aktiv hat?
[GELÖST] DBGrid - Key-Eingaben validieren mit OnKeyPress
- Zvoni
- Beiträge: 611
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz/FPC fixes)
- CPU-Target: 64Bit
- Wohnort: BW
[GELÖST] DBGrid - Key-Eingaben validieren mit OnKeyPress
Zuletzt geändert von Zvoni am Mo 23. Mär 2026, 13:53, insgesamt 1-mal geändert.
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Re: DBGrid - Key-Eingaben validieren mit OnKeyPress
Ich verstehe dein Szenario nicht wirklich, aber OnSelectEditor klingt doch nicht schlecht.
ACol kann man dann in einer Variablen speichern.
ACol kann man dann in einer Variablen speichern.
- Zvoni
- Beiträge: 611
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz/FPC fixes)
- CPU-Target: 64Bit
- Wohnort: BW
Re: DBGrid - Key-Eingaben validieren mit OnKeyPress
Jepp. Hatte ich in der Zwischenzeit auch gefunden.theo hat geschrieben: Mo 23. Mär 2026, 13:32 Ich verstehe dein Szenario nicht wirklich, aber OnSelectEditor klingt doch nicht schlecht.
ACol kann man dann in einer Variablen speichern.
Dort kann ich dann ein simples
Code: Alles auswählen
If Column.Index=3 Then Editor.OnKeyPress:=@OnFuelChargeKeyPress; Ich habe ein mehrspaltiges DBGrid (Spalten fest definiert, nicht dynamisch).
Wenn der User jetzt einen neuen Satz anlegt/einen bestehenden Satz editiert, will ich für die dritte Spalte (Index=2), quasi ein "NumbersOnly" haben:
Er soll gar nicht in der Lage sein irgendwas anderes als von mir festgelegte Keys eingeben zu können.
Problem: Es ist ein "NumbersOnly" kombiniert mit "EinDezimalTrennzeichen", und zwar genau eins!
Und dazu muss ich an den bereits eingebenen Text herankommen.
Jetzt muss ich meiner eigenen Prozedur nur noch beibringen, wie sie das "Sender" auslesen kann, damit ich an den "Text" herankomme.
ein (Sender As TEdit).Text knallt, wahrscheinlich weil "Editor" (und somit Sender) vom Typ TWinControl ist, was keine "Text"-Eigenschaft hat.
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
- Zvoni
- Beiträge: 611
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz/FPC fixes)
- CPU-Target: 64Bit
- Wohnort: BW
Re: DBGrid - Key-Eingaben validieren mit OnKeyPress
OK, Fortschritt.
Sender ist ein TStringCellEditor, welches eine EditText-Eigenschaft hat
Gelöst
Sender ist ein TStringCellEditor, welches eine EditText-Eigenschaft hat
Gelöst
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.