GridView的 RowDataBound與 RowCreated事件 #1的,RowCreated事件執行時間較早
前面兩個小範例,因為我昨天有事要處理,時間不夠,沒解釋完全。
[習題]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 控制項中的資料時發生。(PostBack以後不會執行)(請看以下圖片的紅色字體)
RowCreated -- 建立 GridView 控制項中的資料列時發生。(請看以下圖片的藍色字體)
2014/1/15補充:http://www.allenkuo.com/EBook5/view.aspx?a=1&TreeNodeID=82&id=1373
上圖的執行過程中,我們可以發現 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
本系列的下一篇相關文章:
[下載]GridView的 RowDataBound與 RowCreated事件 #2,基礎入門練習&範例
2011/09/07補充:
[Repeater]三個事件的執行先後?ItemDataBound / ItemCreated / ItemCommand
我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson
線上課程教學,遠距教學 (Web Form 約 51hr) https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015
線上課程教學,遠距教學 (ASP.NET MVC 約 140hr) https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab
寫信給我,不要私訊 -- mis2000lab (at) yahoo.com.tw 或 school (at) mis2000lab.net
(1) 第一天 ASP.NET MVC5 完整影片(5.5小時 / .NET 4.x版)免費試聽。影片 https://youtu.be/9spaHik87-A
(2) 第一天 ASP.NET Core MVC 完整影片(3小時 / .NET Core 6.0~8.0)免費試聽。影片 https://youtu.be/TSmwpT-Bx4I
[學員感言] mis2000lab課程評價 - ASP.NET MVC , WebForm 。 https://mis2000lab.medium.com/%E5%AD%B8%E5%93%A1%E6%84%9F%E8%A8%80-mis2000lab%E8%AA%B2%E7%A8%8B%E8%A9%95%E5%83%B9-asp-net-mvc-webform-77903ce9680b
ASP.NET遠距教學、線上課程(Web Form + MVC)。 第一天課程, "完整" 試聽。
......... facebook社團 https://www.facebook.com/mis2000lab ......................
......... YouTube (ASP.NET) 線上教學影片 https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA/
Blog文章 "附的範例" 無法下載,請看 https://dotblogs.com.tw/mis2000lab/2016/03/14/2008_2015_mis2000lab_sample_download
請看我們的「售後服務」範圍(嚴格認定)。
......................................................................................................................................................
ASP.NET MVC => .NET Core MVC 線上教學 ...... 第一天課程 完整內容 "免費"讓您評估 / 試聽
[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講 事先錄好的影片,並非上課側錄! 觀看時,有如「一對一」面對面講課。