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号进行更新;
}