在GridView控件中添加对记录的删除按钮
GridView控件的数据绑定搞好之后,怎么加入对记录的删除按钮呢,在网上找了半天,终于弄好了.其实很简单,是我比较笨,
这里是效果图:(嘿嘿)
1.在aspx文件中拖入GridView控件:
1<asp:GridView ID="grid1" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" DataKeyNames="id" AutoGenerateColumns="false" OnRowDeleting="grid1_DeleteRow">
2 <Columns>
3 <asp:BoundField HeaderText="id" DataField="id" />
4 <asp:BoundField HeaderText="username" DataField="username" />
5 <asp:BoundField HeaderText="pwd" DataField="pwd" />
6 <asp:CommandField ShowDeleteButton="true" />
7 </Columns>
8 </asp:GridView>
2 <Columns>
3 <asp:BoundField HeaderText="id" DataField="id" />
4 <asp:BoundField HeaderText="username" DataField="username" />
5 <asp:BoundField HeaderText="pwd" DataField="pwd" />
6 <asp:CommandField ShowDeleteButton="true" />
7 </Columns>
8 </asp:GridView>
注意黑体字部分的DataKeyNames属性要有,否则做删除时,无法取得当前记录的键值.(我这么理解的).
AutoGenerateColumns="false" 则设定让GridView控件不要自动生成列,由下面<Columns>来手动生成,这样的话,可以把"删除"列放到记录后面,当然了,让他自动生成也可以,但好像"删除"列老是在记录的前面.怪难看的,吼吼!
ShowDeleteButton属性设置为true,就会出现删除按钮了.当然了,删除事件还得自己写,就在OnRowDeleting属性中设置.
2.在对应的.cs文件中:(GridView就省略了,在我前一篇里说过了,这里只写删除事件怎么写)
1protected void grid1_DeleteRow(object sender, GridViewDeleteEventArgs e)
2 {
3 String id = grid1.DataKeys[e.RowIndex].Value.ToString();
4 String sql = "delete from demo where id =" + id;
5
6 conn = new SqlConnection("server=localhost;database=demo;uid=sa;pwd=123456");
7 conn.Open();
8 comm.Connection = conn;
9 comm.CommandText = sql;
10 comm.ExecuteNonQuery();
11
12 Response.Redirect(Request.Url.ToString()); //别忘了删除完之后,刷新一下,要不然...你试试,呵呵!
13 }
2 {
3 String id = grid1.DataKeys[e.RowIndex].Value.ToString();
4 String sql = "delete from demo where id =" + id;
5
6 conn = new SqlConnection("server=localhost;database=demo;uid=sa;pwd=123456");
7 conn.Open();
8 comm.Connection = conn;
9 comm.CommandText = sql;
10 comm.ExecuteNonQuery();
11
12 Response.Redirect(Request.Url.ToString()); //别忘了删除完之后,刷新一下,要不然...你试试,呵呵!
13 }
黑体字部分可以run的前提就是上面aspx文件中的DataKeyNames属性,这里要是没设置的话,就会报错的.
OK,够详细了吧,因为刚接触.net,所以记录的详细点,よろしくね~~~