if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
DropDownList dd =((DropDownList)DataGrid1.Items[i].Cells[3].FindControl("DropDownList1"));  

string sql = "。。";



if(dd != null)
{
  dd.DataSource =  this.GetData(sql);
  dd.DataTextField = "IDV_PROCEDUREFIRST";
  dd.DataBind(); 
  dd.SelectedValue = dd.Items.IndexOf(dd.Items.FindByValue("IDV_PROCEDUREFIRST"));
//dd.Items.FindByValue(Convert.ToString(DataBinder.Eval(DataGrid1.Items[i].DataItem, "IDV_PROCEDUREFIRST"))).Selected = true;
}


}
不知道最后两句哪句是正确的,而且数据总是显示的是第一条,而不是数据库默认的那条内容

解决方案 »

  1.   

    dd.DataSource =  this.GetData(sql);
      dd.DataTextField = "IDV_PROCEDUREFIRST";
    dd.DataValueField = "IDV_PROCEDUREFIRST";
      dd.DataBind(); 
      dd.SelectedValue = dd.Items.IndexOf(dd.Items.FindByValue("IDV_PROCEDUREFIRST"));
      

  2.   

    dd.DataSource =  this.GetData(sql);
      dd.DataTextField = "IDV_PROCEDUREFIRST";  --显示在下拉框的内容绑定字段
    dd.DataValueField = "IDV_PROCEDUREFIRST";   
      dd.DataBind(); 
      dd.SelectedValue = dd.Items.IndexOf(dd.Items.FindByValue("IDV_PROCEDUREFIRST"));--这句不太正确
    不知道和dropdownlist绑定的数据能否列出几个来,