gridview 中编辑状态为下拉列表控件

来源:互联网 发布:安卓埋雷软件破解授权 编辑:程序博客网 时间:2024/05/23 13:21

1、在编辑模板中添加控件

 <asp:TemplateField HeaderText="图片类型">
                    <ItemTemplate><%# Eval("typename") %>
                    </ItemTemplate>
                    <EditItemTemplate>
                    <asp:HiddenField ID="typeid" runat="server" Value='<%# Eval("typeid") %>' />
                    <asp:DropDownList runat="server" ID="ddltype"></asp:DropDownList>
                    </EditItemTemplate>
  </asp:TemplateField>

2、在.cs 文件中

  protected void gvImages_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (((DropDownList)e.Row.FindControl("ddltype")) != null)
        {
            DropDownList ddltype = (DropDownList)e.Row.FindControl("ddltype");
            // 生成 DropDownList 的值,绑定数据
            string strSql = "select * from pictype ";
            DataSet ds = DbHelperSQL.Query(strSql);
            ddltype.DataSource = ds.Tables[0];
            ddltype.DataValueField = "id";
            ddltype.DataTextField = "name";
            ddltype.DataBind();
            // 选中 DropDownList
            ddltype.SelectedValue = ((HiddenField)e.Row.FindControl("typeid")).Value;
        }

        if (((DropDownList)e.Row.FindControl("ddlpg")) != null)
        {
            DropDownList ddlpg = (DropDownList)e.Row.FindControl("ddlpg");
            // 生成 DropDownList 的值,绑定数据
            string strSql = "select * from page ";
            DataSet ds = DbHelperSQL.Query(strSql);
            ddlpg.DataSource = ds.Tables[0];
            ddlpg.DataValueField = "id";
            ddlpg.DataTextField = "name";
            ddlpg.DataBind();
            // 选中 DropDownList
            ddlpg.SelectedValue = ((HiddenField)e.Row.FindControl("tpid")).Value;
        }
    }

给控件初始化

补充:在做编辑功能时设置gridview的Datakeynames属于上绑定id

 protected void gvImages_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        string id = gvImages.DataKeys[e.RowIndex].Value.ToString();//获取id号进行更新;
           }

原创粉丝点击