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,所以記錄的詳細點,よろしくね~~~