Announcement

Collapse
No announcement yet.

Anwendereingaben ergänzen in dbGrid

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Anwendereingaben ergänzen in dbGrid

    Hi!<br>
    Ich möchte dem Anwender die Datumseingabe in einem dbGRid erleichtern.<br>
    Der Anwender gibt nur den Tag ein alles weitere wird durch das Tagesdatum ergänzt.<br>
    Da ich schon einiges ausprobiert haben gehen mir die Ideen aus.<br>
    Wo muß ich ansetzen um die Fehlermeldung "kein gültiges Datum" zu umgehen und aus der Teileingabe ein korrektes Datum machen zu können?<br>
    Alle Tipps sind willkommen!<br>
    BYE<br>

  • #2
    Hallo Bernd,

    das gleiche Problem hatte ich auch schon, die Datumsprüfung von Delphi findet irgendwie sehr zeitig statt und läßt sich auch nicht durch das Ereignis OnValidate umgehen.
    Ich habe mir wie folgt beholfen: Das Datum lasse ich nicht in einem DBControl eingeben, sondern in einem "normalen" TEdit. Im OnExit analysiere ich dann den String - ergänze ihn ggf. und füge das (nun) korrekte Datum direkt in das entsprechende Feld ein.

    Gruß Fal
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Schade bis jetzt hat Delphi so einen guten Eindruck hinterlassen!<br>
      OK dann eben so aber?!?<br>
      Wie bekommen ich denn ein TEdit in ein DBGrid um dieses Verhalten nachzubilden?<br>
      <br>
      BY

      Comment


      • #4
        Hi,
        <br>
        <br>versuche es mal mit einem DBCtrlGrid.
        <br>
        <br>mfg
        <br>P

        Comment


        • #5
          Hm die Anzahl der Workarounds steigt stetig.<br>
          Ja sicher wird gehen ABER: Das DbGrid hat einige Fähigkeiten Spaltenbreite etc. die ich gerne behalten würde.<br>
          <br>
          Gibt es vielleicht eine Fremdkomponente, die hier weiterhilft?
          <br>
          BY

          Comment


          • #6
            Falls es jemanden interessiert die woll2woll Komponenten scheinen die gesuchte Funktionalität zu haben.<br>
            woll2woll.com<br>
            BY

            Comment


            • #7
              Hi,
              <br>
              <br>"Wo muß ich ansetzen um die Fehlermeldung "kein gültiges Datum" zu umgehen und aus der Teileingabe ein korrektes Datum machen zu können?"
              <pre>
              ADODataSet1.Fields.FindField('Datum').OnChange := MyChange;
              oder ggf.
              ADODataSet1.Fields.FindField('Datum').OnValidate := MyValidate;

              BSP. für MyChange
              procedure TForm1.MyChange(Sender: TField);
              begin
              If Sender.asString = 'X' Then begin
              Sender.asString := 'XXXX';
              end
              end;
              </pre>
              <br>mfg
              <br>P

              Comment


              • #8
                Hallo Bernd,

                um die absolute Kontrolle für den Anwender zu gewährleisten, solltest Du Dir mal das QantumGrid von http://www.devexpress.com anschauen.

                Der Link für die Execute - Demo ist: http://www.devexpress.com/downloads/demo/QGridSuite.exe

                Ich habe schon sehr viele Componenten gesehen, aber diese sind sehr
                durchdacht. Für den Endanwender ein mächtiges Werkzeug um mit Daten
                professionell umzugehen.

                Gruß Mathia

                Comment


                • #9
                  Hallo alle zusammen,
                  ich bevorzuge auch die Variante: Erst Benutzereingaben, dann prüfen, dann speichern. Gerade bei Datumeingaben ist der Prüfaufwand relativ hoch. Deshalb versuche ich dort einen TDateTimePicker zu nehmen. Das ist die sicherste Variante, ein gültiges Datum zu bekommen.
                  Vielleicht mal eine Begründung, warum ich das so scheinbar umständlich mache. Oft habe ich es erlebt, daß ein Nutzer eine Eingabe macht, da das Feld indiziert war verschwindet es aus seinem Blickfeld. Er möchte das gern rückgängig machen, weiß aber nicht mehr welcher Wert vorher drin stand. Schon hat man ein Problem.

                  Die meiste Zeit des Programmierens verbringe ich dazu, ein Programm benutzerfreundlich und eingabesicher zu machen.
                  Ich habe mir aber auch abgewöhnt, allzuviel Schnickschnack in ein Programm zu bringen, damit es geiler aussieht.

                  mfg Klaus-Pete

                  Comment


                  • #10
                    Merci!<br>
                    Woooooow!!!!!<br>
                    BYE BERND<br&gt

                    Comment

                    Working...
                    X