c# - Showing a particular value in combobox -
it looks simple problem i'm stuck - here problem:
i have combobox cmbconstriant
if (!string.isnullorempty(m_link.constraintlayerlinktype)) { bindinglist<myconstraintobj> allconstraints = getallconstraintlinks(m_project.networklayers); cmbconstriant.datasource = allconstraints; cmbconstriant.displaymember = "value"; cmbconstriant.selectedtext=m_link.constraintlayerlinktype; } else { bindinglist<myconstraintobj> allconstraints = getallconstraintlinks(m_project.networklayers); cmbconstriant.datasource = allconstraints; cmbconstriant.displaymember = "value"; }
the values binding when m_link.constraintlayerlinktype
empty.
when has string should show value , other values should there in drop down. m_link.constraintlayerlinktype
user selected value dropdown.
it showing same result both case
try
cmbconstriant.selectedindex = cmbconstriant.items.indexof(m_link.contraintlayerlinktype);
edit:
i see you're adding items of class myconstraintobj
combo. in myconstraintobj
class add -
public override bool equals(object obj) { string scomparestring = obj string; if (scomparestring == null) return false; return constraintlayerlinktype == scomparestring; }
indexof function compares item you're passing (string) every other item in combobox, since of type myconstraintobj
, comparing them incorrectly, function force comparison of variable constraintlayerlinktype
string value pass.
Comments
Post a Comment