Gridview的footer模板中放置控件实现添加功能

前台代码:
 <asp:GridView ID="GridView1" runat="server" ShowFooter="true" AutoGenerateColumns="false">
            <Columns>
                <asp:TemplateField HeaderText="编号">
                    <ItemTemplate>
                        <%#Eval("EmpID") %>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="姓名">
                    <ItemTemplate>
                        <%#Eval("EmpName") %>
                    </ItemTemplate>
                    <FooterTemplate>
                        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                    </FooterTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText ="性别">
                
                <ItemTemplate>
                <%#Eval("EmpSex") %>
                </ItemTemplate>
                <FooterTemplate>
                    <asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server">
                    <asp:ListItem Text ="请选择" Value="0"></asp:ListItem>
                    <asp:ListItem Text ="男" Value ="1"></asp:ListItem>
                    <asp:ListItem Text ="女" Value ="2"></asp:ListItem>
                    </asp:DropDownList>
                </FooterTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText ="地址">
                <ItemTemplate>
                <%#Eval("EmpAddress") %>
                </ItemTemplate>
                <FooterTemplate>
                    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                    <asp:Button ID="Button1" OnClick="AddClick" runat="server" Text="添加" />
                </FooterTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
后台代码:
 protected void Page_Load(object sender, EventArgs e)
    {

        if (!IsPostBack)
        {
            databind();
        }
    }
    public void databind()
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Conn"].ToString());
        SqlCommand cmd = new SqlCommand("SELECT * FROM T_Users", con);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        da.Fill(ds);
        this.GridView1.DataSource = ds.Tables[0];
        this.GridView1.DataKeyNames = new string[] { "EmpID" };
        this.GridView1.DataBind();
    }
    public void AddClick(object sender, EventArgs e)
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Conn"].ToString());
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = con;
        cmd.CommandText = "Insert into T_Users(EmpName,EmpSex,EmpAddress) values(@a,@b,@c)";
        SqlParameter[] sp = new SqlParameter[3];
        sp[0] = new SqlParameter("@a", SqlDbType.NVarChar, 20);
        sp[1] = new SqlParameter("@b", SqlDbType.NVarChar, 4);
        sp[2] = new SqlParameter("@c", SqlDbType.NVarChar, 50);
        sp[0].Value = ((TextBox)this.GridView1.FooterRow.FindControl("TextBox1")).Text.Trim();
        sp[1].Value = ((DropDownList)this.GridView1.FooterRow.FindControl("DropDownList1")).SelectedItem.Text;
        sp[2].Value = ((TextBox)this.GridView1.FooterRow.FindControl("TextBox2")).Text.Trim();
        cmd.Parameters.AddRange(sp);
        if (con.State == ConnectionState.Closed)
        {
            con.Open();
        }
        cmd.ExecuteNonQuery();
        databind();
    }
怀揣着一点点梦想的年轻人
相信技术和创新的力量
喜欢快速反应的工作节奏
原文地址:https://www.cnblogs.com/hfliyi/p/1982605.html