Hallo Leute.
Langsam weiß ich mir mit folgendem Problem nicht mehr zu helfen. Vllt und wahrscheinlich mach ich irgendetwas falsch.
Ich habe DataSource der ComboBox an eine Liste gebunden. Value und Display sind jeweils strings. (Bis hierhin muesste auch alles funktionieren)
Die Auswahl der ComboBox wollte ich nun an eine Eigenschaft binden.
new Binding("SelectedValue", kunde, "Strasse")
In der Liste sind also sehr viele Strassen. Die Value gibt mir dabei die ID aus. Wenn ich nun die Daten kontrolliere, die meine Variable durch das Binding erlangt, dann stimmen diese Werte nicht. Es ist nämlich so, dass gerade in dem Fall, dass ich ein Item auswähle, welches keine Value hat (also eine eigene Eingabe), das schreiben von Strasse nicht ausgeführt wird. Ebenso verhält es sich bei mir mit den Events SelectionChanged (ist vorher ein Item ausgewaehlt, und ich gehe rein und loesche es, so wird das event nicht ausgeloest).
Gruß Matze
Hat denn niemand eine Idee? Ums nochmal kurz zu formulieren:
ComboBox ist an eine Liste gebunden mit Valuemember (positive ganze zahl) und displaymember (strassennamen).
Weiterhin moechte ich die Auswahl der ComboBox binden. Im falle der auswahl eines Items soll value in die variable eingetragen werdne. Wird jedoch eine nicht vorhandene Auswahl getroffen (Leeres Feld / Neues Item), dann soll die gebundene Variable 0 werden.
gruß matze
Combobox kann halt nicht hinzufügen/löschen beim Databinding.
Selbst editieren (also neuen Displaymember-Wert reinschreiben) - glaub nicht, dasß das geht.
Für sowas nimm Datagridview.
Ach so, sollja zusammenklappen.
Hmm- selber ein Control schreiben? Und dann im _Validated gucken, ob neuer Text da ist, und dementsprechend der Datasource ein Item hinzufügen.
KA, ob das geht.
Der frühe Apfel fängt den Wurm.
Nein, ich glaube du hast das nicht ganz verstanden.
DataSource bleibt immer gleich. Nur der ausgewählte Text/Value soll korrekt uebermittelt werden.
Gruß
Hi syn87,
Ich hatte gestern auch eine ComboBox mit DataBinding, in der man den Value noch editieren konnte. Da der Value ein string ist, konnte ich folgendes machen:
comboBox.DataSource = meineStringCollektion;
comboBox.DataBindings.Add("Text",meinObjekt,"MeinProperty");
Vielleicht kannst du folgendes benutzen:
new Binding("Text", kunde, "Strasse")
Gruß
Juy Juka