[習題] Repeater + CheckBox,批次(複選)刪除。

[習題] Repeater + CheckBox,批次刪除。

本範例可以當作書本(ASP.NET專題實務)
「上集」 第十二章 Repeater 的 補充習題






 

Repeater是從 .NET 1.0就有的老朋友了

除了快速呈現資料之外,我還真的很少用到他。

 

有人來問:怎麼作Repeater + CheckBox,批次(複選)刪除。

 

我上了 Google,搜尋關鍵字「批次 刪除 checkbox」就找到好幾篇範例了。

 

看了其中一篇,我就瞭解意思。

雖然不是 100%跟他一樣,但我還是要 謝謝這位朋友無私的分享 --

       http://leehom59.blogspot.com/2008/07/repeater.html

 

因為分享,所以偉大!!!這就是網路的力量!!!

但也要自己用功,才能「吸收到」人家分享的功力......

 

 

 

本範例可以當作書本(ASP.NET專題實務) 

      上集」  第十二章  Repeater 的 補充習題

 

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

重點一,請看畫面設計(.aspx檔案)

        <asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">

            <HeaderTemplate>
                <div align="center">
                <table border="1" width="90%">
                  <tr>
                    <td bgcolor="#800000"><font color="#FFFFFF"><b>批次刪除</b></font></td>
                    <td bgcolor="#800000"><font color="#FFFFFF"><b>id</b></font></td>
                    <td bgcolor="#800000"><font color="#FFFFFF"><b>Title(標題)</b></font></td>
                    <td bgcolor="#800000"><font color="#FFFFFF"><b>Author(作者)</b></font></td>
                  </tr>
            </HeaderTemplate>

            <ItemTemplate>
                <tr>
                  <td><small><asp:CheckBox ID="CheckBox1" runat="server" Text='<%#Eval("id")%>' />

                           </small></td>
                  <td><small> <%#Eval("id")%> </small></td>
                  <td> <b> <%#Eval("title")%> </b></td>
                  <td align="left"> <small> <%#Eval("author")%> </small></td>
                </tr>
            </ItemTemplate>
            
            <FooterTemplate>
                </table>
                </div>

                <asp:Button ID="Button1" runat="server" Text="Button--批次刪除(CommandName=myDelete)" 

                             CommandName="myDelete" />
            </FooterTemplate>
        </asp:Repeater>
        
        <asp:SqlDataSource ID="SqlDataSource1" runat="server"
            ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
            SelectCommand="SELECT [id], [title], [author] FROM [test]">
        </asp:SqlDataSource>

 

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

重點二,後置程式碼(Code Behind)。

 

重點如下:

      您必須知道 Button的 CommandName的功用。

      也要瞭解大型控制項的  ItemCommand事件

 

    Protected Sub Repeater1_ItemCommand(source As Object, e As System.Web.UI.WebControls.RepeaterCommandEventArgs) Handles Repeater1.ItemCommand
        '-- 參考資料:http://leehom59.blogspot.com/2008/07/repeater.html

        Dim DelNo As String = ""
        If e.CommandName = "myDelete" Then

            For Each RpItem As RepeaterItem In Repeater1.Items
                Dim CB As CheckBox = RpItem.FindControl("CheckBox1")

                If CB.Checked Then
                    Response.Write(CB.Text & "<br>")
                End If

                '--  您可以抓到被鉤選的這幾筆記錄Id,就能自己寫 ADO.NET程式進行刪除的動作!!!!
            Next

        End If
    End Sub

 

 

2011/5/23 補充:   另外一個相關的案例(有程式碼),請看:

http://social.msdn.microsoft.com/Forums/zh-TW/236/thread/568d3bbc-659e-4157-8bb3-ecf1fdec8ff8?prof=required

 

或是參閱這個範例(ListView)      

ListView 的事件中,找到是 "第幾列"執行的?某一列的索引值? ListViewDataItem.DisplayIndex屬性

 

 

 

這兩天超不爽的。

有幾個人一來信,就是要現成的範例。

「書本裡面沒有」、「買到書裡面沒XXX的範例」..........,又怎樣???

 

 

哪個作者能保證:「他的書本裡面,有每一個人、每一天、每一個需求都想要、

                           100%程式碼COPY過去就會跑的範例???」

 

我承認我沒這麼神!!!!我認輸~~~~~

 

作者教您的是「一套功夫」

隨機應變......仍要看您自己的練習、天分、努力與造化!

 

最好你拜了  葉問大師當老師,繳了學費,

在家裡睡大頭覺(不用練功、不用上課)......就能一個打十個!

 

 

我賣你一本書,抽幾十元版稅,絕對不虧欠您什麼!    來信請自重!

 

我只討論書裡面講不清楚的地方,絕對不幫人 Debug(書上白紙黑字都有講!)

但我還是盡力回答大家的問題了.............

 

有本事,台灣的電腦書作者名單都列出來,

我看哪幾個作者比我服務更周到!

 

我虛心跟他們學習了

 

               那你(讀者)呢?.......你準備好  虛心學習了嗎???????????????????

 

 

 

請看本文後續發展: [給讀者的話]軟土深掘

 

-------------------------------------------------------------------------------------------------------------------------------------


(電影)葉問 的對話  -- http://monkeymum.wordpress.com/2010/10/22/1007/

講的不是武功,而是人生的哲理

 

 

 

 

 

我將思想傳授他人, 他人之所得,亦無損於我之所有;

猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

線上課程教學,遠距教學 (Web Form 約 51hr)  https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015

線上課程教學,遠距教學 (ASP.NET MVC 約 135hr)  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.主講   事先錄好的影片,並非上課側錄!   觀看時,有如「一對一」面對面講課