![]() |
Datenbank: BDE • Version: 5.2.xyz • Zugriff über: Delphi Std DB Komponenten
DBGrid: In einer Spalte die Eingabe einschränken
Hallo,
ich habe ein DBGrid in welches direkt Daten eingegeben werden. In der ertsen Spalte sollen nun nur die Zeichen 'A'-'Z' und '0'-'9' eingegeben werden können. Wie realisiere ich sowas? Mit dem OnKeyPress-Ereignis wie bei Eingabefeldern komm ich hier nicht weit, da in andern Spalten ja alles eingegeben werden können soll. :gruebel: |
AW: DBGrid: In einer Spalte die Eingabe einschränken
SetText der Feldkomponente ...?
|
AW: DBGrid: In einer Spalte die Eingabe einschränken
naja das SetText-Event dürfte für den Anwender etwas unbefriedigend sein, da der heutige Standard ja eigentlich so aussieht, dass man direkt ne Rückmeldung bekommt wenn was falsch ist.
Bei dem SetText-Event ist es ja so, dass der Anwender erst allesmögliche eingeben kann, sich freut dass es klappt und sich dann wundert, dass entweder garnichts oder was anderes ins Feld geschrieben wurde. Ich habs jetzt über das KeyPress-Event des Grids gelöst:
Delphi-Quellcode:
An der ShowInputHint bastel ich grad noch, da ich einen Hint am selektierten Feld anzeigen will mit den zugelassenen Zeichen, kein Plan wie das gehen soll :gruebel:
procedure TtfMyForm.MyGridKeyPress(Sender: TObject; var Key: Char);
begin if MyGrid.SelectedField = dmMyDataModule.ttMyTableMyField then begin Key := UpCase(Key); // damit man nicht ständig shiften muss :) if not (Key in ['A'..'Z','0'..'9','_','-','+',#8,#27,#13]) then // Steuerzeichen wie Backspace, ESC und Return zulassen begin Key:=#0; ShowInputHint; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz