Announcement

Collapse
No announcement yet.

Tablecolumn in comboBox anzeigen?

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

  • Tablecolumn in comboBox anzeigen?

    Hallo zusammen,
    ich will aus meinem dataSet, in dem eine Tabelle enthalten ist, die komplette Spalte "ID" in einer comboBox anzeigen lassen!
    Nur wie
    Ich arbeite mit Visual Studio 2005 (c++).

    PS: falls Jürgen das liest, hoffe es war diesmal richtig formuliert

  • #2
    Heute gebe ich auf....

    Visual Studio 2005 (c++) im NetForum??
    Christian

    Comment


    • #3
      Falsches Thema?!?
      Ok ... dann setzt ich den Beitrag nochmal in Visuall c++ rein

      Comment


      • #4
        Ich weiss nicht mit was du programmierst....
        Christian

        Comment


        • #5
          Visual Studio 2005 (c++) im NetForum??
          Wenn es um C++/CLR geht und ein ADO.NET Problem ist ist die Frage hier richtig aufgehoben.

          Comment


          • #6
            Und jetzt zu deinem eigentlichen Problem.
            Einfach die DataTable Instanz der Datasource Property der Combobox zuweisen und die Displaymember Property auf den Namen deiner ID Spalte setzen.
            Wenn die ID Spalte auch wirklich die ID der Datenmenge ist solltest du den Namen der Spalte in die Valuemember Property einfügen. Ansonsten gehört da der Name der wirklichen ID Spalte rein.

            Comment


            • #7
              Hallo Ralf,

              Habe es jetzt so gemacht:

              Code:
              comboBox1->DataSource = dataSet1->Tables["AUSLEIH"]; // Ausleih ist der Name der Tabelle
              comboBox1->DisplayMember = "ID"; // ID ist der Name der Spalte
              comboBox1->ValueMember = "ID";
              Mir wird zwar nirgendwo ein Fehler angezeigt und ich kann mein Projekt ganz normal Debuggen, aber in meiner comboBox steht leider nichts drin !!!
              Wenn ich in eine comboBox per Hand etwas eingebe, dann muss ich dies doch bei items machen! Muss ich das dann in Verbindung mit einem dataSet nicht auch irgentwo zu stehen haben?

              Comment


              • #8
                Gerade gecheckt, geht hier.
                Bist du dir sicher das in deiner Tabelle auch Daten enthalten sind?
                Bist du dir sicher das die Spalte ID heißt?

                Code:
                DataTable ^dt = gcnew DataTable();
                dt->Columns->Add("ID");
                dt->Rows->Add(gcnew array<Object^> { "Eins" });
                dt->Rows->Add(gcnew array<Object^> { "Zwei" });
                dt->Rows->Add(gcnew array<Object^> { "Drei" });
                
                comboBox1->DataSource = dt;
                comboBox1->DisplayMember = "ID";
                comboBox1->ValueMember = "ID";

                Comment


                • #9
                  ja ich bin mir sicher!!

                  Ich benutze das dataSet bereits an anderen Stellen!!

                  Beispiel für eine Textbox:
                  Code:
                  tbxID->DataBindings->Add("Text",bindingSource1,"ID");
                  Problem dabei ist nur das in der Textbox nur die Position angezeigt wird die in der bindingsource selectiert ist ..... ist an der Stelle ja auch ok so.
                  In meiner combobox will ich aber alle Daten der spalte angezeigt bekommen!


                  Habe meinem Quelltext jetzt noch folgende Zeile angfügt:
                  Code:
                  comboBox1->DataSource = dataSet1->Tables["AUSLEIH"]; // Ausleih: Name der Tabelle
                  comboBox1->DisplayMember = "ID"; //ID: Name der Spalte
                  comboBox1->ValueMember = "ID";
                  comboBox1->Items->Add(comboBox1->ValueMember); 
                  Jetzt sehe ich in meiner combobox das Item "ID". Das ist ja aber gar nicht so wie ich mir das vorgestellt hab.
                  Ich will mir ja nicht die Buchstaben "ID" anzeigen lassen, sondern alle Zeilen die im dataSet (Tabelle: AUSLEIH, Spalte: ID) vorhanden sind
                  Zuletzt editiert von MarcoOoOo; 09.01.2009, 09:40.

                  Comment


                  • #10
                    Habs hinbekommen !!

                    Die Zeile die ich noch rangehangen hab, ist Quatsch:
                    Code:
                    comboBox1->Items->Add(comboBox1->ValueMember);

                    Wenn ihr es so machen wollt wie ich, ist dieser Quelltext richtig :
                    Code:
                    comboBox1->DataSource = dataSet1->Tables["AUSLEIH"]; // Ausleih ist der Name der Tabelle
                    comboBox1->DisplayMember = "ID"; // ID ist der Name der Spalte
                    comboBox1->ValueMember = "ID";
                    Ich hatte ihn nur an die falsche Stelle geschrieben

                    Comment


                    • #11
                      Es ist meist besser erst Display und Valuemember zu setzen und dann die Datasource:
                      Code:
                      comboBox1->DisplayMember = "ID"; // ID ist der Name der Spalte
                      comboBox1->ValueMember = "ID";
                      comboBox1->DataSource = dataSet1->Tables["AUSLEIH"]; // Ausleih ist der Name der Tabelle
                      Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

                      Comment


                      • #12
                        Es ist meist besser erst Display und Valuemember zu setzen und dann die Datasource:
                        Kannst du das begründen?

                        Beim Setzen von Displaymember und Valuemember wird gegen die Datasource geprüft ob die entsprechenden Properties/Spalten existieren wenn du die Datasource erst hinter setzt könnten die die zugewiesenen Displaymember/Valuemember also ungültig sein und werden nicht gesetzt (heißt sie bleiben auf ihren alten vorher geltenden Werten).

                        Comment


                        • #13
                          Leider nicht gfoidl hat das aber immer wieder betont, ich selbst konnte keinen Unterschieder erkennen konnte es mir nur so erklären dass dann beim setzen der Datasource bereits bekannt ist welchen Value und welchen Displaymember man benutzen will
                          Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

                          Comment

                          Working...
                          X