這裡的文章是我個人的備份。
如果要閱讀原文,請到我的主網站:http://www.dotblogs.com.tw/mis2000lab/
本篇文章的原始出處(原文),位於:[習題]ListView自己寫程式作「刪除」(編輯與更新、新增)
http://www.dotblogs.com.tw/mis2000lab/archive/2009/11/16/listview_delete_itemdelete.aspx
=====================================================
之前有發表過一些文章,自己動手寫程式去控制 GridView。
例如:ADO.NET #3 (GridView + SqlDataSource)完全手寫、後置程式碼!
現在這篇文章,應該算是 ListView的版本,但作法不太一樣。
=================================================================
1. 「刪除」按鈕,必須寫在 ListView控制項的「外面」!重點
2. 使用 ListView控制項的 .DeleteItem()方法來作
3. ListView仍需要搭配 SqlDataSource,這部分的資料存取並非自己動手撰寫(是用現成的)
這個範例可以參考微軟的MSDN文件,請看:http://msdn.microsoft.com/zh-tw/library/system.web.ui.webcontrols.listview.deleteitem.aspx
=================================================================
HTML畫面設計如下:
1. 拉進一個 ListView,然後搭配 SqlDataSource完成所有功能,包含新增、刪除、修改的所有相關SQL指令。
2. 在 ListView的「外面」,自己加入一個「刪除」按鈕。
02
03 <hr>
04 <asp:ListView ID="ListView1" runat="server" DataKeyNames="id"
05 DataSourceID="SqlDataSource2" GroupItemCount="3">
06
07 .....內容省略......
08 </asp:ListView>
09
10 <asp:SqlDataSource ID="SqlDataSource2" runat="server" ....>
11 ....內容省略......
12 ......讓 SqlDataSOurce自動產生新增、刪除、修改的SQL指令與參數
13 </asp:SqlDataSource>
後置程式碼的撰寫:
02
03 If ListView1.SelectedIndex >= 0 Then
04 ListView1.DeleteItem(ListView1.SelectedIndex)
05 '== 使用 DeleteItem 方法,以程式設計的方式刪除資料來源中指定索引的資料錄。
06 '== 這個方法通常用於從 ListView 控制項之外刪除資料錄,例如從頁面上的另一個控制項。
07 Label1.Text = "******刪除成功!!******"
08 Else
09 Label1.Text = "您尚未選定任何一筆資料"
10 End If
11 End Sub
12
13
14 Protected Sub ListView1_PagePropertiesChanging() Sub ListView1_PagePropertiesChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.PagePropertiesChangingEventArgs) Handles ListView1.PagePropertiesChanging
15 ListView1.SelectedIndex = -1 '-- 「未」選定任何一筆資料
16 End Sub
這個範例可以參考微軟的MSDN文件,請看:http://msdn.microsoft.com/zh-tw/library/system.web.ui.webcontrols.listview.deleteitem.aspx
=================================================================
在微軟的 MSDN官方網站上面,有很多值得學習的範例
例如
- LitsView 資料新增 -- http://msdn.microsoft.com/zh-tw/library/system.web.ui.webcontrols.listview.insertnewitem.aspx
- ListView 資料修改 -- http://msdn.microsoft.com/zh-tw/library/system.web.ui.webcontrols.listview.updateitem.aspx
結合這三個範例與程式碼,不一會兒又多學會了好多功能。
與其說 微軟的技術太簡單、太好入門,
我寧可說「微軟投注了大量的資源在這些範例與文件上面!」
這絕對是其他公司難以望其項背的 (真的足感心A!)
相信我,我寫過 Adobe Flash / Flex這種東西,什麼資源都找不到..........挖勒!
別讓微軟的資源白白浪費了,
只要願意花時間,MSDN 這座寶山的資源就是自己的!
偷偷跟各位報告一下,這些範例都會加入下一版的新書裡面
(不是已經交稿的「範例集」這本書,而是下一版的新書 for .NET 4.0)
.NET 4.0的新書,內容都會比現在的「ASP.NET專題實務 / 文魁初版」至少多出三百頁的全新內容
這還只是我 "目前" 已經完稿的部分,後續還會追加.........
===========================================================================
目前的書(ASP.NET專題實務 /文魁出版)只列出自己動手寫程式 100%控制 GridView的範例,
有讀者希望看見 ListView、FormView、DetailsView,也都可以自己動手打造。
到了這篇文章,算是把這四大天王的範例,都提供出來了。
ListView ----
FormView ----
GridView --
DetailsView --
===========================================================================
今日值班正妹:深田恭子
這張是她最新的造型,小時候看過一齣卡通,她飾演裡面的壞蛋,但卡通名稱我忘記了
...... 寄信給我 mis2000lab (at) 雅虎.com.台灣 ................................................................................................................
ASP.NET專題實務 (文魁出版,VB版 P8187 / C#版P09027)
.............................................................................................................. 寄信給我 mis2000lab (at) 雅虎.com.台灣 ........
留言列表