Laden...

ComboBox und DataBinding

Erstellt von syn87 vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.309 Views
S
syn87 Themenstarter:in
87 Beiträge seit 2008
vor 15 Jahren
ComboBox und DataBinding

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

S
syn87 Themenstarter:in
87 Beiträge seit 2008
vor 15 Jahren

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

5.299 Beiträge seit 2008
vor 15 Jahren

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.

S
syn87 Themenstarter:in
87 Beiträge seit 2008
vor 15 Jahren

Nein, ich glaube du hast das nicht ganz verstanden.

DataSource bleibt immer gleich. Nur der ausgewählte Text/Value soll korrekt uebermittelt werden.

Gruß

2.187 Beiträge seit 2005
vor 15 Jahren

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