Announcement

Collapse
No announcement yet.

Suche eigenschaft einer dblookupcombobox

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

  • Suche eigenschaft einer dblookupcombobox

    Hi ich suche die eigenschaft oder eine möglichkeit folgendes zu schaffen:

    wenn der user in eine dblookupcombobox kommt soll er einen text schreiben können wenn er eine zifferfolge eingibt die eindeutig ist (nur einmal in der liste vorhanden) soll der text vervollständigt werden.

    Wenn der (bisherige) eintrag nicht existiert dann soll die combobox sich öffnen ..

    Weiß jemand wie ich das einstellen kann?

    BINE

  • #2
    Hi Bine,

    ja alles klar. Ist alles Handarbeit, man könnte auch die dxDbEditor - Komponenten von www.devexpress.com einsetzen. Mit denen würde es funktionieren. Die Jungs orientieren sich immer an den MS - Standards, wie z.B. die gewünschte Autovervollständigung.

    1) Als erstes müssen die Usereingaben differenziert werden, es soll unterschieden werden ob Ziffern oder Alphawerte eingegeben werden.

    Ereignis : OnKeyPress (in diesem Ereignis kann ermittelt werden, welche Taste der User gedrückt hat.

    2) Die Autovervollständigung ist ein bisschen schwerer, in dem Text hier ist wahrscheinlich nicht alles bedacht.

    He Bine, misst muss schluss machen.... Kunde hat Probleme
    Vieleicht sind ja noch andere hier die ne Idee haben

    Bab

    Comment


    • #3
      hat jemand einen fertigen code für mich???

      :

      Comment


      • #4
        Hallo Bine,

        such mal hier im Forum nach "IAutoComplete2". Vielleicht hilft dir das weiter.

        Gruß<br>
        Rolan

        Comment


        • #5
          @BlueBit
          <br>Hi,
          <br>
          <br>du hast schon mehrfach Komponenten von www.devexpress.com erwähnt unteranderem das Quantum Grid.
          <br>1)Lohnt sich der Kauf? Der Preis hat es ja schon in sich!
          <br>2)Hast du das mal getestet (nicht nur das Demo)?
          <br>Bekommt man andere Probleme wenn man diese Komponenten einsetzt?
          <br>3)Wie sieht es mit dem Support aus? Ist der kompetent und schnell?
          <br>4)Gibt es etwas negatives zu berichten zu der Komponente, dem Support oder der Firma?
          <br>5)Gibt es vieleicht auch eine alternative Firma in Deutschland, die ein solches Grid herstellt?
          <br>
          <br>Danke!
          <br>
          <br>mfg
          <br>p

          Comment


          • #6
            wie kann ich einer dblookupcombobox sagen (ist sortiert) geh zu dem ersten ds der der eingabe entspricht?

            wie kann ich sagen wenn der eintrag erfolglos war, klappe auf?

            wie greife ich auf die einträge in der combobox zu

            Comment


            • #7
              Hi Bine,
              <br>
              <br>Habe hier mal was gebastelt. Ist wohl äußerst schlecht. Vieleicht gibt es ja hier noch jemanden, der eine bessere Idee hat. Ach ja ich habe noch Probleme wenn ich mit Tab des Feld verlassen will. Und es flackert ein wenig :-(
              <br>Wie gesagt, ich hoffe es hat hier noch jemand eine bessere Idee.
              <br>
              <br>Ich verwende eine TDBLookUpComboBox(TabStop muß auf False gesetzt werden) und überlagere diese mit Edit2.
              <pre>
              procedure TForm1.Edit2Change(Sender: TObject);
              begin
              if DBLookupComboBox1.Tag = 0 Then
              begin
              DBLookupComboBox1.Tag := 1;
              Edit2.Tag := Edit2.SelStart;
              DBLookupComboBox1.ListSource.DataSet.Locate('x',ed it2.Text,[loCaseInsensitive, loPartialKey]);
              DBLookupComboBox1.KeyValue := DBLookupComboBox1.ListSource.DataSet.FieldByName(' id').asInteger;

              DBLookupComboBox1.CloseUp(false); //Damit die Dropdown Liste aktualisiert wird
              DBLookupComboBox1.Dropdown; //Damit die Dropdown Liste aktualisiert wird

              Edit2.Text := DBLookupComboBox1.ListSource.DataSet.FieldByName(' x').asString; // löst wieder ein Change aus desahlb auch der Umweg mit DBLookupComboBox1.Tag
              end
              else
              begin
              DBLookupComboBox1.Tag := 0;
              edit2.Setfocus;
              Edit2.SelStart := Edit2.Tag;
              Edit2.SelLength := Length(Edit2.Text) - Edit2.SelStart;
              end;
              end;

              procedure TForm1.DBLookupComboBox1CloseUp(Sender: TObject);
              begin
              edit2.Setfocus;
              end;

              procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
              begin
              if ord(key) = 8 Then //BackSpace
              begin
              if Edit2.SelStart - 1 >= 0 Then
              begin
              Edit2.SelStart := Edit2.SelStart - 1;
              Edit2.SelLength := Length(Edit2.Text) - Edit2.SelStart;
              end;
              end;
              end;

              procedure TForm1.Edit2Exit(Sender: TObject);
              begin
              DBLookupComboBox1.CloseUp(True);
              end;
              </pre>
              <br>mfg
              <br>p

              Comment


              • #8
                Hallo Bine,

                ich würde dblookupcombobox nicht dazu mißbrauchen, sondern ein normales edit-Feld und table1.locate nehmen. Dort kannst du überprüfen, ob der SubString aus dem Editfeld gleich dem Dateneintrag ist, wenn ja, der Eigenschaft Text des Edit-Feldes zuweisen. Mehr ist eigentlich nicht nötig.

                mfg Klaus-Pete

                Comment


                • #9
                  Hi Patrick,

                  also ich immer sehr vorsichtig, aber die Jungs sind absolute Klasse.

                  <pre>
                  - Das Preis-Leistungsverhältnis ist hervorragend
                  - Die Leistungsfähigkeit der Komponenten sind beeindruckend
                  - Der Support ist Gigantisch, die Jungs kennen die Delphi VCL in- und auswendig. Die Jungs haben mir schon so oft weiterhelfen können, Sie wollen sogar manchmal ein Demo Projekt, um selber prorgammieren zu können.
                  - Auf jeden Fall kann ich die Kombination QuantumGrid und PrintigSystem von DevExpress empfehlen. Alles like Outlook 2000
                  </pre>

                  Ich pfeile gerade noch an meinem Standard Frame für die Datenverarbeitung (komplette Dateiverwaltung). Wenn Du mal sehen willst http://www.cnsd.de/zink2000/download/doc/wTerminal%20-%20Handbuch.pdf (auf den letzen Seiten kann man die Leistungsfähigkeit des Grid's und des PrintingSystem erkennen.

                  Ist wirklich das beste unter der Sonne...

                  Grüße Mathia

                  Comment


                  • #10
                    @BlueBit:
                    <br>Danke!
                    <br>
                    <br>mfg
                    <br>P

                    Comment

                    Working...
                    X