首先在gridview里添加一个TemplateField,也可以在.aspx页里相应位置直接写如下代码:
    <asp:TemplateField HeaderText="负责人">
                <ItemTemplate>
                    <%# Eval("Manager") %>//非编辑状态下此列显示的内容
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:DropDownList ID="ddlManager" runat="server">
                    </asp:DropDownList>
                </EditItemTemplate>
                <ControlStyle Width="50px" />
                <HeaderStyle Width="50px" />
                <ItemStyle Width="50px" />
            </asp:TemplateField>    
    
    在.cs中写如下事件:
    protected void gridview1_RowDataBound(object sender,GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if (e.Row.FindControl("ddlManager") != null)
            {
                DropDownList ddl = (DropDownList)e.Row.FindControl("ddlManager");
                string strSql = "select NameVc from v_UserList";
                ddl.DataSource = DataOperation.BindToControls(strSql);//将数据绑定到dropdownlist上
                ddl.DataValueField = "NameVc";
                ddl.DataTextField = "NameVc";
                ddl.DataBind();
                ddl.SelectedValue = DataBinder.Eval(e.Row.DataItem, "ManagerVc").ToString();//使点击编辑后dropdownlist的当前值为原始值

                
            }
        }
    }       


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hakule/archive/2008/11/07/3238564.aspx

posted on 2010-12-14 05:45  刀刀梦  阅读(2547)  评论(0编辑  收藏  举报