摘要:[習題]DetailsView/FormView的 DataBound事件 搭配 DataItem、DataItemIndex與DataItemCount屬性
我在書本「上集」(ASP.NET 專題實務)的第六章 DetailsView
就下了猛藥!
除了最基礎的 DetailsView + SqlDataSource這種不用寫程式的「精靈」之外。
我直接附上 100%手寫程式,控制 DetailsView與 ADO.NET存取資料庫。
- ADO.NET #10 DetailsView 變更模式(完全手寫、後置程式碼!)
http://www.dotblogs.com.tw/mis2000lab/archive/2009/12/01/detailsview_manual_dataset_changemode.aspx
- [習題][主細表] GridView + DetailsView兩者的資料與"頁數"連動
==========================================================================
有心要學,你可以學到更多。
淺嘗即止,您也可以 "只" 學到精靈的設定步驟。
買了一本書,不怕內容太多(多到學不完!!)
一時看不完,大不了留著以後慢慢看~
最怕你要用的時候,書到用時方恨少,
書上除了精靈,什麼都沒教你!....這才是悲哀!
我正在蒐集各大控制項的常用屬性、常用事件作一個整理
以下是我在 MSDN發現的範例,非常清楚簡潔,
給自己留一個記錄,也分享給大家。
MSDN網站上面,都有完整的 VB、 C#範例與程式碼
資料來源:
http://msdn.microsoft.com/zh-tw/library/system.web.ui.webcontrols.detailsview.dataitem.aspx
DataItem屬性只有在發生資料繫結之後才能使用。所以我們會把程式寫在 DataBound事件裡
發生資料繫結之前,這個屬性都會傳回 Nothing(C#為 null)。當 DetailsView 控制項處於插入模式時,這個屬性也不適用,而且會傳回 Nothing。
另外要注意這句話:
請使用 DataItem 屬性,存取繫結至 DetailsView 控制項的資料項目。這個資料項目通常用於直接存取目前資料錄的欄位值。這個屬性傳回的 Object 型別,會根據資料來源而有所不同。例如,當 SqlDataSource 控制項繫結至 DetailsView 控制項時,便會傳回 DataRowView 物件。
因此,底下的第一個範例,我們可以透過這個程式碼,取得某一筆記錄的「第一個欄位」
因為 DetailsView與 FormView都是 一頁呈現一筆記錄的!
VB ----
Dim rowView As DataRowView = CType(DetailsView1.DataItem, DataRowView)
'== 列出第一個欄位的值。
Response.Write("<br />列出第一個欄位的值。rowView.Row(0).ToString() ---- " & rowView.Row(0).ToString())
C# ----
DataRowView rowView = (DataRowView)DetailsView1.DataItem;
//== 列出第一個欄位的值。
Response.Write("<br />列出第一個欄位的值。rowView.Row[0].ToString() ---- " + rowView.Row[0].ToString());
資料來源:
http://msdn.microsoft.com/zh-tw/library/system.web.ui.webcontrols.detailsview.dataitemcount.aspx
資料來源:
http://msdn.microsoft.com/zh-tw/library/system.web.ui.webcontrols.detailsview.dataitemindex.aspx
範例下載(VB與C#語法)---- DetailsView.rar
我簡化過,而且搭配了書本裡面的範例 + DB,讓讀者下載後,易於學習
2011/8/30 補充: FormView動態加入 ItemTemplate #1 -- PlaceHolder,動態加入 Web控制項
(ASP.NET 4.0 專題實務 / 松崗出版)上下兩集,都包含以下的範例。
保證市面上,大部分的「入門書」與「教科書」都找不到!
上下兩集,優惠團購,1180元(含郵)
上下兩集,優惠團購,1180元(含郵)
有讀者希望看見 GridView、ListView、FormView、DetailsView,也都可以自己動手打造。
到了這篇文章,算是把這四大天王的範例,都提供出來了。
ListView ----
FormView ----
DetailsView --
GridView --
我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----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.主講 事先錄好的影片,並非上課側錄! 觀看時,有如「一對一」面對面講課。