[習題] 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

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



ASP.NET遠距教學、線上課程(Web Form + MVC)。 第二門 課程「四折」-- 以MVC課程 作優惠。
第一天課程, "完整" 試聽。  如不滿意  全額退費!
................   facebook社團   https://www.facebook.com/mis2000lab   ......................

................  YouTube (ASP.NET) 線上教學影片  http://goo.gl/rGLocQ

*********************************************************************************************

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

************************************************************(歡迎索取,免費申請)*****

 

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小時)完整內容,"免費"讓您評估

    MIS2000 Lab.  線上教學影片(YouTube) **免費觀賞**