AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen FreePascal Zeichenanzahl bei Eingabe in DBGrid begrenzen
Thema durchsuchen
Ansicht
Themen-Optionen

Zeichenanzahl bei Eingabe in DBGrid begrenzen

Ein Thema von BlackGuest · begonnen am 3. Mär 2009 · letzter Beitrag vom 5. Mär 2009
Antwort Antwort
BlackGuest

Registriert seit: 30. Jan 2009
52 Beiträge
 
Delphi XE7 Professional
 
#1

Zeichenanzahl bei Eingabe in DBGrid begrenzen

  Alt 3. Mär 2009, 08:53
Wie kann ich die Zeichenanzahl bei der Eingabe von Daten in einem DBGrid begrenzen?

Das entsprechende Datenfeld ist ein String mit maximal 12 Zeichen. DBGrid.Columns[x].maxSize ist auf 12 gesetzt, MinSize=0.
Nun kann ich aber beliebig viele Zeichen eingeben. Alle nach dem 12. werden zwar beim Verlassen des Eingabefeldes abgeschnitten aber diese sollten eigentlich erst gar nicht eingegeben werden können.

Gruß
BlackGuest
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Zeichenanzahl bei Eingabe in DBGrid begrenzen

  Alt 3. Mär 2009, 10:34
Als Stichwort fällt mir da nur "InplaceEditor" ein. Zuhause hab' ich Code, wie man an den rankommt (leider nicht hier bei der Arbeit).

Aber vielleicht reicht das ja schon um zu Suchen.
  Mit Zitat antworten Zitat
BlackGuest

Registriert seit: 30. Jan 2009
52 Beiträge
 
Delphi XE7 Professional
 
#3

Re: Zeichenanzahl bei Eingabe in DBGrid begrenzen

  Alt 3. Mär 2009, 11:23
Danke für die schnelle Antwort.
Viel habe ich allerdings nicht dazu gefunden. Wäre nett, wenn Du mir dabei etwas weiterhelfen könntest, wenn Du den Code vor dir hast.

Gruß
BlackGuest
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Zeichenanzahl bei Eingabe in DBGrid begrenzen

  Alt 3. Mär 2009, 11:49
Auf die schnelle hab' ich hier folgendes gefunden:
Delphi-Quellcode:
type
  THackedStringGrid = class(TStringGrid);

// dann im onGetEditText Ereignis
THackedStringGrid(StringGrid).InplaceEditor.xxx
..oder halt statt StringGrid ein DBGrid. Wie weit das beim DBGrid funktioniert weis ich nicht, aber damit bekommt man auf die schnelle Zugriff auf den Editor und kann die Werte manipulieren.

Selber ausprobieren kann ich es dann aber erst heute Abend (hier ist kein Delphi, nur Internet ), aber evtl. kommst Du schon so weiter.

€: Ok, also Zugang zum InplaceDitor gibt es so auch beim DBGrid. Nur kein passendes fertiges Ereignis, wo man am besten eingreift. OnKeyPress etc. hängt ein Zeichen hinterher. Da müsste man ein Ereignis abfangen, was jetzt mehr ist, was ich auf die schnelle korrekt kann.

Damit hatte ich es eben schnell im onKeyPress getestet:
Delphi-Quellcode:
  if Assigned(THackedDBGrid(DBGrid1).InplaceEditor) then
    Edit1.text := THackedDBGrid(DBGrid1).InplaceEditor.Text;
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#5

Re: Zeichenanzahl bei Eingabe in DBGrid begrenzen

  Alt 3. Mär 2009, 15:47
Zitat von BlackGuest:
Wie kann ich die Zeichenanzahl bei der Eingabe von Daten in einem DBGrid begrenzen?
Hallo,

das und Ähnliches habe ich bisher so gelöst, dass ich dem Grid-Kasten ein eigenes Editfeld vorlagere (so, dass der User das überhaupt nicht sieht), in dem ich formatieren kann wie ich will, z.B. wissenschaftliche Zahlenformate, Telefonnummern usw.

Gruss Reinhard
  Mit Zitat antworten Zitat
BlackGuest

Registriert seit: 30. Jan 2009
52 Beiträge
 
Delphi XE7 Professional
 
#6

Re: Zeichenanzahl bei Eingabe in DBGrid begrenzen

  Alt 5. Mär 2009, 17:10
Danke für eure Antworten.
Bin leider gerade mit etwas anderem eingespannt, so dass ich an dem Projekt erst einmal nicht weiterarbeiten kann.

@Reinhard
Die Idee find ich sehr gut. Werde das dann wohl auch so lösen. Scheint mir wirklich die einfachste und komfortabelste Lösung zu sein.

Gruß
BlackGuest
  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 21:17 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