這裡的文章是我個人的備份。
如果要閱讀原文,請到我的主網站: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的「外面」,自己加入一個「刪除」按鈕。

 

01 <asp:Button ID="Button1_Delete" runat="server" Text="Delete (刪除)" />
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>

 

 後置程式碼的撰寫:

01     Protected Sub Button1_Delete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1_Delete.Click
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(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官方網站上面,有很多值得學習的範例

例如 

 

 結合這三個範例與程式碼,不一會兒又多學會了好多功能。

 

與其說 微軟的技術太簡單、太好入門,

我寧可說「微軟投注了大量的資源在這些範例與文件上面!

這絕對是其他公司難以望其項背的 (真的足感心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.台灣 ........

arrow
arrow
    全站熱搜

    MIS2000 Lab 發表在 痞客邦 留言(0) 人氣()