int chs=this.dg_adjust.Items.Count;
ListItem[] chh=new ListItem[chs];
for(int i=1;i<=chs;i++)
{
chh[i-1]=new ListItem(i.ToString(),i.ToString());
}
for(int j=0;j<this.dg_adjust.Items.Count;j++)
{
DropDownList ddl=new DropDownList();
ddl=(DropDownList)this.dg_adjust.Items[j].Cells[3].FindControl("DropDownList2");
ddl.Items.AddRange(chh);
ddl.SelectedIndex=j;

}
结果DropDownList选择的都是j最大的一项即j=this.dg_adjust.Items.Count的项
望高手指点!
Thank you in advance!!

解决方案 »

  1.   

    ddl.SelectedIndex=j;当然就是选择最大那一项了
      

  2.   

    在上面所有代码最后执行一句:
    ddl.SelectedIndex=0;
      

  3.   

    ???我的每次ddl都是新的啊
    ??但是整个datagrid中的ddl都选择了同样的数
    ChengKing所说的ddl.SelectedIndex=0;那么我的ddl(整个DataGrid的ddl)不都选择了第一项了么?
    我想让它们(ddl)选择不同的项--比如datagrid的第一行选0第二航选1
    以此类推
    Thanks
      

  4.   

    把:
    int chs=this.dg_adjust.Items.Count;
    ListItem[] chh=new ListItem[chs];
    for(int i=1;i<=chs;i++)
    {
    chh[i-1]=new ListItem(i.ToString(),i.ToString());
    }放到for(int j=0;j<this.dg_adjust.Items.Count;j++)里
      

  5.   

    补充一下:不同的ddl不能共用同一个ListItem,你共用一个当然也就所有的都相同了
      

  6.   

    http://singlepine.cnblogs.com/articles/266538.html
      

  7.   

    I am trying !!
    Thank you !
    Hope this really helpful!
      

  8.   

    It is really helpful!
    Good!
      

  9.   

    不同的ddl不能共用同一个ListItem,你共用一个当然也就所有的都相同了???
      

  10.   

    int chs = this.dg_adjust.Items.Count;for (int j = 0; j < this.dg_adjust.Items.Count; j++)
    {
        ListItem[] chh = new ListItem[chs];
        for (int i = 0; i < chs; i++)
        {        
         chh[i] = new ListItem((i + 1).ToString(),(i + 1).ToString());
        } DropDownList ddl = new DropDownList();
    ddl = (DropDownList)this.dg_adjust.Items[j].Cells[3].FindControl("DropDownList2");
    ddl.Items.AddRange(chh); ddl.SelectedIndex = j;
    }