我的问题非常简单。这是我的情景:
dataTable中的数据将是:
Column1 | Column2 |栏3
Method1 | 100 | 0.5
方法2 | 125 | 0.75
方法3 | 80 | 0.4
。 。
方法30 | 200 | 1
目前,我使用最简单的方法来绑定数据。类似的东西:
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;
有没有办法将数据绑定到我的ddl比我当前的方法更容易?
谢谢。
VCHA
答案 0 :(得分:1)
假设代码中的最后一行有Rows[9]
您可以尝试循环
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;
}
}
答案 1 :(得分:0)
我会在数据绑定控件中设置它,例如ListView
或GridView
。
这将允许您创建将重复的3 ddls,然后将SelectedItemValue
绑定到您的列。
我根据您所展示的内容做出一些假设,这对您有用。如果ddls遍布整个站点,那么它可能不会。