這是我的文章備份,原文請看我的網站 -- http://www.dotblogs.com.tw/mis2000lab/
GridView的 RowCreated事件與 RowDataBound事件的小差異
http://www.dotblogs.com.tw/mis2000lab/archive/2010/10/13/gridview_rowcreated_rowdatabound.aspx
前面兩個小範例,因為我昨天有事要處理,時間不夠,沒解釋完全。
[習題]DataBinding?資料繫結?資料綁定? #6 -- 傷腦筋的 GridView加總、小計
[習題]DataBinding?資料繫結?資料綁定? #7 -- 傷腦筋的 GridView加總、小計(原來如此 / 範例下載)
Q: 為什麼上一個範例,修正後的程式,
寫在 GridView的 RowCreated事件與 RowDataBound事件是有差異的呢?
正確運作的結果應該類似(圖一 / RowCreated事件):
錯誤的執行成果(圖二。寫在RowDataBound事件)
這個問題很有趣,想要知道答案的話,
應該打開您的 Visual Studio,自己寫一些簡單程式,實際試試看就會瞭解。
================================================================================
GridView的這兩個事件,在本書 上 集(ASP.NET專題實務、ASP.NET 4.0專題實務)都有很多範例應用。
尤其是第十章、第十一章。相同的範例,網站上也有公開,例如:
大腸包小腸(巢狀GridView、父子GridView)的Master-Detail主表明細、
[習題]GridView樣版內部,改用CheckBox/Radio/DropDownList(單/複選 )...等範例
所以在此作一個簡單的補充。
MSDN網站的解說是最好的參考資料。
GridView各種事件 -- http://msdn.microsoft.com/zh-tw/library/hf8xwy0t.aspx
RowDataBound -- 資料列繫結至 GridView 控制項中的資料時發生。(請看以下圖片的紅色字體)
RowCreated -- 建立 GridView 控制項中的資料列時發生。(請看以下圖片的藍色字體)
上圖的執行過程中,我們可以發現 RowCreated 事件比較早被執行
您可以簡單測試看看,
HTML畫面裡頭,使用簡單的 GridView搭配 SqlDataSource即可。
後置程式碼如下:
02 Response.Write("<font color=blue>")
03
04 'IF (e.Row.RowType = DataControlRowType.DataRow) then
05 Response.Write("** RowCreated事件 -- " & e.Row.RowType.ToString())
06 'End IF
07
08 Response.Write("</font><br>")
09 End Sub
10
11
12 Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
13 Response.Write("<font color=red>")
14
15 Response.Write("RowDataBound事件 -- " & e.Row.RowType.ToString())
16
17 Response.Write("</font><br>")
18 End Sub
...... 寄信給我 mis2000lab (at) 雅虎.com.台灣 ....................................................................................................
(松崗出版,VB版 / C#版)
範例比上一本書增加 166%,內容(頁數)增加 135%
上 / 下兩集 (2010年)已經出版囉 ~ 歡迎到此參加團購
ASP.NET專題實務( II ):範例集 與 4.0新功能
.................................................................................................... 寄信給我 mis2000lab (at) 雅虎.com.台灣 ........
留言列表