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