asp.net實現大量刪除的全選功能案例

來源:互聯網
上載者:User
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataKeyNames="AreaID" DataSourceID="SqlDataSource1">
            <Columns>
                <asp:BoundField DataField="AreaID" HeaderText="AreaID" ReadOnly="True" 
                    SortExpression="AreaID" />
                <asp:BoundField DataField="AreaName" HeaderText="AreaName" 
                    SortExpression="AreaName" />
                <asp:BoundField DataField="PID" HeaderText="PID" SortExpression="PID" />
                <asp:TemplateField>
                <ItemTemplate>
                <asp:CheckBox  ID="chk_Del" runat="server" />//用來判斷是否要刪除的行
                </ItemTemplate>
                </asp:TemplateField>
            </Columns>
 </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:Work_OAConnectionString %>" 
            SelectCommand="SELECT * FROM [Area]"></asp:SqlDataSource>

            <asp:CheckBox ID="chk_JS" runat="server" Text="全選(JS)" onclick="selectAll(this)"/>//通過js來進行全選

js函數的定義如下

<script type="text/javascript">
    //根據傳入的checkbox的選中狀態設定所有checkbox的選中狀態
    function selectAll(obj)
    {
        var allInput = document.getElementsByTagName("input");
        //alert(allInput.length);
        var loopTime = allInput.length;
        for(i = 0;i < loopTime;i++)
        {
            //alert(allInput[i].type);
            if(allInput[i].type == "checkbox")
            {
                allInput[i].checked = obj.checked;
            }
        }
    }
</script>


刪除按鈕相關提示

<asp:Button ID="btn_DeleteRecords" runat="server" OnClientClick="return judgeSelect();" Text="刪除選中記錄" />
添加JS指令碼
//判斷是否選中記錄,使用者確認刪除
function judgeSelect()
{
    var result = false;
    var allInput = document.getElementsByTagName("input");
    var loopTime = allInput.length;
    for(i = 0;i < loopTime;i++)
    {
        if(allInput[i].checked)
        {
            result = true;
            break;
        }
    }
    if(!result)
    {
        alert("請先選則要刪除的記錄。");
        return result;
    }
    result = confirm("你確認要刪除選定的記錄嗎。");
    return result;
}

第二種 方式可以通過伺服器端代碼實現全選

<asp:CheckBox ID="chk_Server" runat="server" OnCheckedChanged="chk_Server_CheckedChanged" Text="全選(Server)" AutoPostBack="True" />
事件代碼如下

int a = this.GridView1.Rows.Count;
for (int i = 0; i < a; i++)
{
    CheckBox chk = (CheckBox)this.GridView1.Rows[i].FindControl("chk_Del");
    chk.Checked = this.chk_Server.Checked;
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.