winforms - Multiple Combo Boxes With The Same Data Source (C#) -
update: resolved, see answer below.
on 1 of forms (in windows forms application) have 3 combo boxes. these combo boxes need display list of prices (in text, integer back-end value).
all of these combo boxes using same data source (a list<> of type tsprice, valuemember set price , displaymember set description).
my problem this... everytime choose price option 1 of dropdowns, change same value... them being bound same data source?
here how binding them:
var pricelist = new list<tsprice> { new tsprice(0, ""), new tsprice(0, "half day"), new tsprice(0, "full day"), new tsprice(0, "1 + half"), new tsprice(0, "2 days"), new tsprice(0, "formal quote required") }; objinsuredprice.datasource = pricelist; objtpprice.datasource = pricelist; objprovsum.datasource = pricelist; objinsuredprice.valuemember = "price"; objtpprice.valuemember = "price"; objprovsum.valuemember = "price"; objinsuredprice.displaymember = "description"; objtpprice.displaymember = "description"; objprovsum.displaymember = "description"; objinsuredprice.selectedindex = 0; objtpprice.selectedindex = 0; objprovsum.selectedindex = 0; //objinsuredprice.datasource = objtpprice.datasource = objprovsum.datasource = pricelist; //objinsuredprice.valuemember = objtpprice.valuemember = objprovsum.valuemember = "price"; //objinsuredprice.displaymember = objtpprice.displaymember = objprovsum.displaymember = "description"; //objinsuredprice.selectedindex = objtpprice.selectedindex = objprovsum.selectedindex = 0; edit: issue being bound same datasource confirmed saurabh. how solved it.
var pricelist = new list<tsprice> { new tsprice(0, ""), new tsprice(1, "half day"), new tsprice(2, "full day"), new tsprice(3, "1 + half"), new tsprice(4, "2 days"), new tsprice(5, "formal quote required") }; var insuredlist = new tsprice[5]; var tplist = new tsprice[5]; var provlist = new tsprice[5]; pricelist.copyto(insuredlist); pricelist.copyto(tplist); pricelist.copyto(provlist); objinsuredprice.datasource = insuredlist; objtpprice.datasource = tplist; objprovsum.datasource = provlist; objinsuredprice.valuemember = objtpprice.valuemember = objprovsum.valuemember = "price"; objinsuredprice.displaymember = objtpprice.displaymember = objprovsum.displaymember = "description"; objinsuredprice.selectedindex = objtpprice.selectedindex = objprovsum.selectedindex = 0;
i know didn't ask may suggest refactor final code little bit :-)
private list<tsprice> getpricelist() { return new list<tsprice> { new tsprice(0, ""), new tsprice(0, "half day"), new tsprice(0, "full day"), new tsprice(0, "1 + half"), new tsprice(0, "2 days"), new tsprice(0, "formal quote required") }; } private void bindpricelist(combobox combobox, list<tsprice> pricelist) { combobox.datasource = pricelist(); combobox.valuemember = "price"; combobox.displaymember = "description"; combobox.selectedindex = 0; } bindpricelist(objinsuredprice, getpricelist()); bindpricelist(objtpprice, getpricelist()); bindpricelist(objprovsum, getpricelist());
Comments
Post a Comment