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

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();

    }

你可能感兴趣的:(GridView)