[習題]DetailsView/FormView的 DataBound事件 搭配 DataItem、DataItemIndex與DataItemCount屬性

摘要:[習題]DetailsView/FormView的 DataBound事件 搭配 DataItem、DataItemIndex與DataItemCount屬性





 

 

我在書本「上集」(ASP.NET 專題實務)的第六章 DetailsView

就下了猛藥!

(VB  上集)           (C#  上集)

 

除了最基礎的 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兩者的資料與"頁數"連動

http://www.dotblogs.com.tw/mis2000lab/archive/2009/09/10/gridview_detailsview_interactive_paging.aspx

 

==========================================================================

 

有心要學,你可以學到更多。

淺嘗即止,您也可以 "只" 學到精靈的設定步驟。

 

 

買了一本書,不怕內容太多(多到學不完!!)

      一時看不完,大不了留著以後慢慢看~

 

最怕你要用的時候,書到用時方恨少

      書上除了精靈,什麼都沒教你!....這才是悲哀!

 

 

 

我正在蒐集各大控制項的常用屬性、常用事件作一個整理

以下是我在 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 49hr)  https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015

線上課程,遠距教學 (ASP.NET MVC 75hr)  https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab

ASP.NET MVC線上課程 第一天 免費看 (5.5小時) 

寫信給我,不要私訊 --  mis2000lab (at) yahoo.com.台灣  或  school (at) mis2000lab.net


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 (Web Form) 課程 上線了!MIS2000Lab.主講

事先錄製好的影片,並非上課時側錄!   觀看影片時,有如我「一對一」跟您面對面講課

 

ASP.NET MVC 5 線上教學

累積時數約 75小時...... 第一天(5.5小時)完整內容,"免費"讓您評估