我在页面添加了一个DataGrid控件,有三列,前两列是绑定列,后一列是下拉列表模版列,我用: DataGrid.item[a].cells[b]能获取前两列的值,可是用这种方法取不到下拉列表模版列的值,不知道应用什么方法获取最后一列模版列的值,请各位高手帮帮忙!还望不吝赐教!

解决方案 »

  1.   

    在html里把最后一列命名一下如:ID="DDL" 并把它设为服务器控件
    这样在代码里就可以取到了,如:
    DropDownList Dtype=(DropDownList)this.DataGrid1.Items[e.Item.ItemIndex].Cells[1].FindControl("DDL");这样就可以了,你小改一下就可以了
      

  2.   

    可它总提示我未将对象引用设置到对象的实例。
    “/ktweb”应用程序中的服务器错误。
    --------------------------------------------------------------------------------未将对象引用设置到对象的实例。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误: 
    行 59:  DropDownList Dtype=(DropDownList)this.DataGrid1.Items[1].Cells[6].FindControl("done");
    行 60:                 //string bb = Dtype.SelectedItem.Text;
    行 61:  if(Dtype.SelectedItem.Text=="完成")
    行 62:  {
    行 63:  Response.Write("<script>alert('是完成!');</script>");
     
      

  3.   

    把它当成一个对象来理解就知道了. 记得GRID里面的对象都一个CELL哦.
      

  4.   

    代码写到DataGrid1_ItemDataBound事件里吗?