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 ;";
}
}