GRIDVIEW控制項-實現刪除修改欄位功能

GRIDVIEW控制項-實現刪除修改欄位功能   影片:17GRID_VIEW(時間48分開始)

GRIDVIEW控制項-實現刪除修改欄位功能   影片:17GRID_VIEW(時間48分開始)
有二種方式可以實現
方式1
設定:GRIDVIEW控制項(加入預設)修改屬性AutoGenerateEditButton與(加入預設)刪除屬性AutoGenerateDeleteButton即可實現功能,缺點「無法改變樣式」
方式2
設定:使用CommandField屬性
  (1).新建(修改)ShowEditButton.新建(刪除)ShowDeleteButton. Type=Button
  (2).在SqlDataSoure內設定UpdateCommand="updata 資料表 set 資料欄位=@資料欄位 where=P.K"(注意:欄位數必須跟colums一樣)
  (3).在SqlDataSoure內設定DeleteCommand="delete from 資料表 where=P.K"
  以下為優化介面:
  (1).GRIDVIEW控制項內設定OnRowDataBund編寫程式碼
程式碼區:

補充資料:
(1).實務上很少用GRIDVIEW做為「後台修改」控制功能,只會用刪除或資料上架/下架。
(2).千萬注意「where」一定要設定,否則會將所有資料刪除或修改成同一資料。
(3).為何要使用if(!confirm()return ),因為js的confirm的回傳會導致_doPostBack()無法繼續執行,只有在js回傳false才會繼續_doPostBack(),所以要使用if not
https://dotblogs.com.tw/jeff377/2008/03/17/1697

程式碼區利用js實現刪除警告視窗:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{  
 if (e.Row.RowIndex > -1) {
  if (((Button)e.Row.Cells[8].Controls[2]).CommandName=="Delete")
   //if(!confirm()) return ;<==因為js的confirm的回傳會導致_doPostBack()無法繼續執行,只有在js回傳false才會繼續_doPostBack(),所以要使用if not
     (Button)e.Row.Cells[8].Controls[2]).Attributes["onclick"] = "if(!confirm('你確定要將【"+ e.Row.Cells[2].Text + "】刪除嗎')) return ;";               
      }
}