Bug in ComboBox (DataBindings)?



  • Ich habe eine ComboBox per DataBinding an eine Tabelle gebunden.

    comboBox.DataBindings.Add(...)
    

    Des weiteren habe ich einen CurrencyManager der sich um das Update, Insert usw. kümmert.
    Wenn ich nun den DropDownStyle der ComboBox auf DropDown einstellen, wird der Wert in der ComboBox ordentlich in der Datenbank gespeichert.
    Stelle ich allerdings den Wert DropDownList ein wird der Wert nicht in der Datenbank gespeichert, es entsteht auch kein Fehler denn das DataSet erkennt keine Änderung.
    Woran liegt das, ist das ein Bug?



  • Hi Dominic,
    ist es das selbe Problem wie http://www.c-plusplus.net/forum/viewtopic.php?t=74228 ?

    bei DropDownList wird die Datebquelle nur lesend benutzt. Ob das ein Bug ist, hängt davon ab, wie man es sieht 😉

    Zumindest steht das nicht in zusammenhang mit einem DataSet.
    Hier ist es auch so:

    private void Form1_Load(object sender, System.EventArgs e)
    		{
    			 list=new ArrayList();
    			 list2=new ArrayList();
    			list.Add("Andreas");
    			list.Add("Norbert");
    			list.Add("Reinhard");
    			list.Add("Axel");
    			comboBox1.DataSource=list;
    			textBox1.DataBindings.Add("Text",comboBox1,"Text");
    
    		}
    


  • AndreasW schrieb:

    Hi Dominic,
    ist es das selbe Problem wie http://www.c-plusplus.net/forum/viewtopic.php?t=74228 ?

    Ja ist es.
    Danke für die Antwort. Also muss ich den DropDown Style verwenden um Werte in die DB zu schreiben? Das ist aber mist, denn da kann der User eigene Wert eingeben.



  • hm, wirst du wohl müssen

    du kannst aber von der ComboBox eine Kasse Ableiten und das editieren per Hand verhindern bzw. das editieren so zu steuern, dass der nächstliegende Eintrag der Datenquelle als Wert eingetragen wird.
    Bei dem obrigen Beispiel in etwa:

    Tippt der User "A" ein wird das "A" durch andreas ersetzt und der Cursor wieder an zweiter stelle gesetzt. usw


Anmelden zum Antworten