先自定义一个事件然后在DataGrid的ItemCteate事件中将自定义的时间赋给 DropDownlist

解决方案 »

  1.   

    ((DropDownList)e.Item.FindControl("dp1")).DataSourse=ds.Tables[newstu22];
    ((DropDownList)e.Item.FindControl("dp1")).DataBind();
      

  2.   

    在模版列写啊,我自己做的
    <asp:dropdownlist id="typelist" runat="server"
    datasource='<%#changetypelist()%>'
    datatextfield='etype' datavaluefield='id'
    selectedindex='<%# Convert.ToInt32(DataBinder.Eval(Container, "DataItem.cType")) %>'>
      </asp:dropdownlist>
    //changetypelist()是一个返回IDataReader函数
      

  3.   

    xiandaliu(仙达流,菜鸟先飞) ( ) 给的不好用
    提示
    C:\Inetpub\wwwroot\WebApplication1\WebForm6.aspx.cs(123): “System.Web.UI.WebControls.DropDownList”并不包含对“DataSourse”的定义
      

  4.   

    siugwan(小均) ( ) 信誉:100 
    给的也不好用在CS文件中根本找不到dp1啊
    e.Item.FindControl("dp1").DataSourse=ds.Tables[newstu22];
    e.Item.FindControl("dp1").DataBind();
    你让我changetypelist()事件怎么写?
      

  5.   

    xiandaliu(仙达流,菜鸟先飞)
    ((DropDownList)dg.Items.FindControl("dp1")).DataSource提示
    C:\Inetpub\wwwroot\WebApplication1\WebForm6.aspx.cs(44): “System.Web.UI.WebControls.DataGridItemCollection”并不包含对“FindControl”的定义
    必须改成
    ((DropDownList)dg.Items[i].FindControl("dp1")).DataSource才不会包错
      

  6.   

    lxw99() 对,我一时马虎写错了,必须是某一项才可以FindContorl
      

  7.   

    你把那段代码放在一个函数当中,而后绑定这个函数即可。
    protected DataView dv;
    public DataView DV()
    {
    DataSet ds=new DataSet();
    sql="select name from newstu";
    objcomm=new SqlDataAdapter(sql,conn);
    conn.Open();
    objcomm.Fill(ds,"newstu22");
    dv=ds.Table["newstu22"].DefaultView;
    return dv;
    }
    而后你就把那个控件的数据源定义为DV()即可