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就省略了,在我前一篇里说过了,这里只写删除事件怎么写)
1
protected
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,所以记录的详细点, よろしくね~~~