AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DBGrid: In einer Spalte die Eingabe einschränken
Thema durchsuchen
Ansicht
Themen-Optionen

DBGrid: In einer Spalte die Eingabe einschränken

Ein Thema von Angel4585 · begonnen am 28. Feb 2011 · letzter Beitrag vom 1. Mär 2011
Antwort Antwort
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#1

DBGrid: In einer Spalte die Eingabe einschränken

  Alt 28. Feb 2011, 15:44
Datenbank: BDE • Version: 5.2.xyz • Zugriff über: Delphi Std DB Komponenten
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.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: DBGrid: In einer Spalte die Eingabe einschränken

  Alt 28. Feb 2011, 16:00
SetText der Feldkomponente ...?
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#3

AW: DBGrid: In einer Spalte die Eingabe einschränken

  Alt 1. Mär 2011, 09:19
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:
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;
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
Martin Weber
Ich bin ein Rüsselmops

Geändert von Angel4585 ( 1. Mär 2011 um 09:21 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz