這裡的文章是我個人的備份。
如果要閱讀原文,請到我的主網站:http://www.dotblogs.com.tw/mis2000lab/
本篇文章的原始出處(原文),位於:
ADO.NET #10 DetailsView 變更模式(完全手寫、後置程式碼!)
http://www.dotblogs.com.tw/mis2000lab/archive/2009/12/01/detailsview_manual_dataset_changemode.aspx
=====================================================
1). 首先,我們先用 DetailsView + SqlDataSource完成所有功能,
包含「新增」、「刪除」、「編輯」、「更新」等等動作。
2). 接下來,把每一個 DetailsView欄位,都修改成「樣版」。
上述兩個步驟,如果自己動手寫的話,太繁瑣了。
所以借重VS 2008的威力來完成(事實上,我是在VS 2010 Beta 2上面寫的)
3). 把HTML原始檔裡面的 SqlDataSource刪除,因為我們要自己寫程式去做這些事。
其中,比較麻煩的地方,就是「變更 DetailsView的模式」。這一步驟花了我一些時間去測試。
後置程式碼如下:
其中的 DBInit() ,就是我自己寫的 DataSet程式,用來作簡單的資料繫結。
請參考 ASP.NET專題實務 /文魁出版,第十章的第四節。
有一模一樣的 DBInit()


02

03

04

05

06

07

08


09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44


45

46

47

48

49

50

51

52

53

54

55

56

57

58


59

60

重點在於 DetailsView1_ItemCommand()的事件裡面,
我特別把相關的參考網址列出來。
這部分的作法,跟 GridView的變換模式不一樣,比較特別!....跟FormView的寫法類似
要轉換 DetailsView的模式,需要這兩行程式碼----
DetailsView1.ChangeMode(DetailsViewMode.Edit)
DetailsView1.DefaultMode = DetailsViewMode.Edit
參考資料如下:
DetailsView 的 .ChangMode()方法 -- http://msdn.microsoft.com/zh-tw/library/system.web.ui.webcontrols.detailsview.changemode.aspx
變更 DetailsView的模式 -- http://social.msdn.microsoft.com/Forums/zh-TW/236/thread/d09d271f-d88e-43e2-b0ce-9b89bafa0787
我也是看到上面這兩個範例,才完成的。特別列出來給大家參考。
目前的書(ASP.NET專題實務 /文魁出版)只列出自己動手寫程式 100%控制 GridView的範例,
有讀者希望看見 ListView、FormView、DetailsView,也都可以自己動手打造。
到了這篇文章,算是把這四大天王的範例,都提供出來了。
ListView ----
FormView ----
GridView --
小小廣告一下,等到新書出版(ASP.NET專題實務 for .NET 4.0與 VS 2010),書裡面的內容一定會更詳細。
好久沒有今日值班正妹,大家溫習一下:
今日值班正妹:資訊展 Show Girl.....(有圖有真相)
我喜歡最後一張圖片的正妹
資料來源 IT.Com.tw http://it.oc.com.tw/ocitview.asp?gitid=1120026
http://mag.udn.com/mag/digital/storypage.jsp?f_ART_ID=224139
...... 寄信給我 mis2000lab (at) 雅虎.com.台灣 ................................................................................................................
ASP.NET專題實務
(文魁出版,VB版 P8187 / C#版P09027)
.............................................................................................................. 寄信給我 mis2000lab (at) 雅虎.com.台灣 ........