asp.net - what is the easiest way to bind data to 30 dropdownlists? -


my question simple. here scenario:

  1. i have 1 result dataset[named="resultds" typed="mydataset"] , 1 datatable[mydt] inside.
  2. in datatable, have 10 rows, each row has 3 columns [column1,column2,column3]
  3. on aspx page, have 30 drowdownlists waiting above data

the data inside datatable be:

column1 | column2 | column3

method1 | 100 | 0.5

method2 | 125 | 0.75

method3 | 80 | 0.4

. . .

method30 | 200 | 1

currently, used simplest way binding data. like:

ddl1.selectedvalue = ((mydataset.mydtrow)resultds.mydt.rows[0]).column1; ddl2.selectedvalue = ((mydataset.mydtrow)resultds.mydt.rows[0]).column2; ddl3.selectedvalue = ((mydataset.mydtrow)resultds.mydt.rows[0]).column3;  ddl4.selectedvalue = ((mydataset.mydtrow)resultds.mydt.rows[1]).column1; ddl5.selectedvalue = ((mydataset.mydtrow)resultds.mydt.rows[1]).column2; ddl6.selectedvalue = ((mydataset.mydtrow)resultds.mydt.rows[1]).column3; . . . ddl30.selectedvalue = ((mydataset.mydtrow)resultds.mydt.rows[9]).column3; 

is there way bind data ddl easier current method?

thank you.

vcha

assuming last line in code has rows[9]

you can try doing in loop

for (int i=0; i<30; i++) {    dropdownlist ddl = (dropdownlist) findcontrol("ddl"+(i+1));     switch (i % 3)    {       case 0:           ddl.selectedvalue =  ((mydataset.mydtrow)resultds.mydt.rows[i/3]).column1;           break;       case 1:           ddl.selectedvalue =  ((mydataset.mydtrow)resultds.mydt.rows[i/3]).column2;           break;       case 2:           ddl.selectedvalue =  ((mydataset.mydtrow)resultds.mydt.rows[i/3]).column3;           break;     } } 

Comments