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

前台代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<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>
后台代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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();
   }
posted @ 2012-05-16 09:09  左正  阅读(383)  评论(0编辑  收藏  举报