在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>

注意黑体字部分的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    }

黑体字部分可以run的前提就是上面aspx文件中的DataKeyNames属性,这里要是没设置的话,就会报错的.
OK,够详细了吧,因为刚接触.net,所以记录的详细点,よろしくね~~~

posted @ 2008-05-06 15:32  小牛大牛  阅读(2606)  评论(0编辑  收藏  举报
咱这社会,努力不一定会有回报,但要是不努力,您可就得空虚.您说这讨老婆,生孩子,买房子,购车子,哪样不得自己动手,别人动手咱也不能放心啊,您说是不是这么个理儿?....