GridView的進階用法:
在開發的過程中,遇到了GridView的自訂使用,可以自訂編輯、更新、刪除等操作。
1、自訂選擇資料:
SqlDataSource1.ConnectionString=SysPub.GetDataConnString;//設定資料來源連接字串
SqlDataSource1.SelectParameters[0].DefaultValue = bidcode;;//設定參數值
SqlDataSource1.SelectParameters[1].DefaultValue = this.opercode.Value;
SqlDataSource1.SelectParameters[2].DefaultValue = GridView1.SelectedValue.ToString();
SqlDataSource1.SelectCommand = "select a.evalcode,EvalName,EvalText,EvalMax,Cent from Bid_Eval_Cent a inner join Bid_Eval b on a.bidcode=b.bidcode and a.evalcode=b.evalcode where a.bidcode=@bidcode and a.opercode=@opercode and a.vendcode=@vendcode";
GridView2.DataBind();;//設定綁定
2、在GridView2_RowEditing事件中自訂編輯時的所選擇的資料及要更新的方法:
SqlDataSource1.ConnectionString = SysPub.GetDataConnString;
SqlDataSource1.SelectParameters[0].DefaultValue = bidcode;
SqlDataSource1.SelectParameters[1].DefaultValue = this.opercode.Value;
SqlDataSource1.SelectParameters[2].DefaultValue = GridView1.SelectedValue.ToString();
SqlDataSource1.UpdateParameters[0].DefaultValue = bidcode;
SqlDataSource1.UpdateParameters[1].DefaultValue = this.opercode.Value;
SqlDataSource1.UpdateParameters[2].DefaultValue = GridView1.SelectedValue.ToString();
SqlDataSource1.UpdateParameters[3].DefaultValue = GridView2.Rows[e.NewEditIndex].Cells[0].Text;
SqlDataSource1.SelectCommand = "select a.evalcode,EvalName,EvalText,EvalMax,Cent from Bid_Eval_Cent a inner join Bid_Eval b on a.bidcode=b.bidcode and a.evalcode=b.evalcode where a.bidcode=@bidcode and a.opercode=@opercode and a.vendcode=@vendcode";
SqlDataSource1.UpdateCommand = "update Bid_Eval_Cent set Cent=@Cent,Centtime=getdate() where bidcode=@bidcode and opercode=@opercode and vendcode=@vendcode and evalcode=@EvalCode";
GridView2.DataBind();
3、請注意GridView的RowCommand、RowEditing、RowUpdating、RowUpdated、RowCancelingEdit、SelectedIndexChanged、PageIndexChanging、PageIndexChanged等事件的使用。
DataBinding 當伺服器控制項綁定到資料來源時發生。(從 Control 繼承。)
DataBound 在伺服器控制項綁定到資料來源後發生。(從 BaseDataBoundControl 繼承。)
Disposed 當從記憶體釋放伺服器控制項時發生,這是請求 ASP.NET 頁時伺服器控制項生存期的最後階段。(從 Control 繼承。)
Init 當伺服器控制項初始化時發生;初始化是控制項生存期的第一步。(從 Control 繼承。)
Load 當伺服器控制項載入到 Page 對象中時發生。(從 Control 繼承。)
PageIndexChanged 在單擊某一頁導覽按鈕時,但在 GridView 控制項處理分頁操作之後發生。
PageIndexChanging 在單擊某一頁導覽按鈕時,但在 GridView 控制項處理分頁操作之前發生。
PreRender 在載入 Control 對象之後、呈現之前發生。(從 Control 繼承。)
RowCancelingEdit 單擊編輯模式中某一行的“取消”按鈕以後,在該行退出編輯模式之前發生。
RowCommand 當單擊 GridView 控制項中的按鈕時發生。
RowCreated 在 GridView 控制項中建立行時發生。
RowDataBound 在 GridView 控制項中將資料行綁定到資料時發生。
RowDeleted 在單擊某一行的“刪除”按鈕時,但在 GridView 控制項刪除該行之後發生。
RowDeleting 在單擊某一行的“刪除”按鈕時,但在 GridView 控制項刪除該行之前發生。
RowEditing 發生在單擊某一行的“編輯”按鈕以後,GridView 控制項進入編輯模式之前。
RowUpdated 發生在單擊某一行的“更新”按鈕,並且 GridView 控制項對該行進行更新之後。
RowUpdating 發生在單擊某一行的“更新”按鈕以後,GridView 控制項對該行進行更新之前。
SelectedIndexChanged 發生在單擊某一行的“選擇”按鈕,GridView 控制項對相應的選擇操作進行處理之後。
SelectedIndexChanging 發生在單擊某一行的“選擇”按鈕以後,GridView 控制項對相應的選擇操作進行處理之前。
Sorted 在單擊用於列排序的超連結時,但在 GridView 控制項對相應的排序操作進行處理之後發生。
Sorting 在單擊用於列排序的超連結時,但在 GridView 控制項對相應的排序操作進行處理之前發生。
Unload 當伺服器控制項從記憶體中卸載時發生。(從 Control 繼承。)
4、相信這樣可以解決好多GridView的不方便之處。
告知:近來發現有朋友引用部落格的文章,請自覺註明摘用http://hi.baidu.com/lfkitty的標誌。