Announcement

Collapse
No announcement yet.

ComboBox-Selektierung anhand eines TextBox-Strings

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

  • ComboBox-Selektierung anhand eines TextBox-Strings

    Hallo,

    ich habe folgendes Problem und hoffe auf Hilfe.

    Auf einem Form befindet sich eine TextBox (tbx1) und eine ComboBox (cbo1). DataSource für die ComboBox ist ein Typ.DataSet "dsUrlaub1" DisplayMember ist der Nachname aus "sp_Mitarbeiter.Nachname"

    Durch eine externe Aktion erscheint in der TextBox ein Mitarbeitername und nun soll dieser Name in der ComboBox selektiert werden. Dazu verwende ich in der TextBox das TextChanged-Event. Ich wollte dies über den Index versuchen, komme aber nicht weiter. Geht das überhaupt oder wie kann es sonst funktionieren?

    Mein Versuch mit dem Index war:

    {
    int i = cbo1.FindString(tbx1.Text);
    cbo1.SelectedIndex = i;
    }

    Wie finde ich denn den Index in meiner DataSource (SP) ?

    Danke für die Hilfe.

    Volkmar

  • #2
    Hi
    <P>
    Bei mir funktioniert deine Idee.
    Was geht denn bei Dir nicht? Exceptions?
    <P>
    Simo

    Comment


    • #3
      Guten Morgen Simon,

      also bei mir passiert gar nichts, so als ob der Name in der TextBox keine Selektion in der ComboBox auslöst. Wenn das bei dir funktioniert, kannst du mir den Code mal schicken? Vielleicht finde ich damit meinen Fehler.
      Übrigens kommen bei mir keine Exceptions.

      Gruß Volkma

      Comment


      • #4
        Hi
        <P>
        Beispiel ist im Anhang.
        <P>
        Gruss Simo

        Comment


        • #5
          Hallo Simon,
          danke für das Beispiel. So funktioniert es auch bei mir, aber die Anbindung der Datenquelle an die ComboBox ist wohl mein Problem. Schau dir doch mal meinen Code an. Vielleicht siehst du ja gleich den Fehler.

          Gruß Volkmar
          -------------------------------------------------------------------------

          private void Form1_Load(object sender, System.EventArgs e)
          {
          ...
          sqlDaMitarbeiter.Fill(dsUrlaube1); //Füllt cboMitarbeiter mit Tabellendaten (Nachnamen)
          ...
          }
          ..........

          private void txt1_TextChanged(object sender, System.EventArgs e)
          {

          int i = cboMitarbeiter.FindString(txt1.Text);
          cboMitarbeiter.SelectedIndex = i;

          int i = cboMitarbeiter.SelectedIndex;
          if (i != -1)
          {

          cboMitarbeiter.DataSource = dsUrlaube1;
          cboMitarbeiter.DisplayMember = "sp_AktiveMitarbeiter.Nachname"[i].ToString();
          }

          Comment


          • #6
            Hi<P>
            Ich denke, die DataSource sollte nur einmal gesetzt werden, ebenso der anzuzeigende DataMember.<P>
            Ich habe mein Beispiel erweitert. Vielleicht hilft es Dir.
            <P>
            Gruss Simo

            Comment

            Working...
            X