如果控件正處於編輯狀態單擊更新按鈕會觸發GridView_RowUpdating事件在這個事件中先退出編輯狀態接著根據管理員在TextBox中輸入的數據更新數據庫的內容然後再次讀取數據庫中的內容並綁定到GridView主要代碼如程序所示
程序 ST_Admin_promanaspxcs
protected void GridView_RowUpdating(object sender
GridViewUpdateEventArgs e)
{
string ST_id;
string ST_strsql;
//獲取要更新數據的主鍵
ST_id = GridViewRows[eRowIndex]Cells[]Text;
//獲取更新後的數據
TextBox tb =
(TextBox)GridViewRows[eRowIndex]Cells[]Controls[];
ST_strsql = update ST_tProduct set ST_productname=
+ ((TextBox)(GridViewRows[eRowIndex]
Cells[]Controls[]))Text
+ ST_productprice= + ((TextBox)(GridViewRows[eRowIndex] Cells[]Controls[]))Text
+ ST_productpic=
+ ((TextBox)(GridViewRows[eRowIndex]
Cells[]Controls[]))Text
+ where ST_ID= + ST_id;
ST_databaseexecsql(ST_strsql)
ST_strsql = SELECT * FROM ST_tProduct order by ST_ID desc;
//取消編輯狀態
GridViewEditIndex = ;
//重新綁定數據
DataTable ST_dt = ST_databaseReadTable(ST_strsql)
GridViewDataSource = ST_dt;
GridViewDataBind()
}
【代碼說明】代碼第行首先要獲取當前編輯行的主鍵其中eRowIndex表示當前行號代碼第~行定義了一條更新語句其中有多個讀取GridView內容的關鍵代碼如((TextBox)(GridViewRows [eRowIndex]Cells[]Controls[]))Text就是獲取GridView中當前編輯行第二列中的控件然後將其顯式轉換為TextBox控件最後的Text屬性就是獲取這個TextBox控件的值代碼第~行重新綁定數據
注意(TextBox)GridViewRows[eRowIndex]Cells[]Controls[];表示將控件顯式轉換為TextBox控件
當單擊編輯按鈕時需要先獲取管理員所單擊按鈕在網格中的索引然後將其賦值給GridView的EditIndex屬性再讀取數據庫將數據綁定到GridView之後頁面就會出現更新和取消選項主要代碼如程序所示
程序 ST_Admin_promanaspxcs
protected void GridView_RowEditing(object sender
GridViewEditEventArgs e)
{
//獲取當前編輯的行號
GridViewEditIndex = eNewEditIndex;
//重新綁定數據
string ST_strsql;
ST_strsql = SELECT * FROM ST_tProduct order by ST_ID desc;
DataTable ST_dt = ST_databaseReadTable(ST_strsql)
GridViewDataSource = ST_dt;
GridViewDataBind()
}
【代碼說明】代碼第行的eNewEditIndex表示獲取當前編輯行的行號是一個數值型數據代碼第~行重新綁定數據到GridView此時顯示的是編輯狀態下的GridView
返回目錄ASPNET項目開發指南
編輯推薦
ASPNET MVC 框架揭秘
ASPNET開發寶典
ASP NET開發培訓視頻教程
[] []
From:http://tw.wingwit.com/Article/program/net/201311/15931.html