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

Popular posts from this blog

Add email recipient to all new Trac tickets -

400 Bad Request on Apache/PHP AddHandler wrapper -

php - Change action and image src url's with jQuery -