国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

批量刪除記錄時如何實現全選方法總結

2024-07-10 13:22:45
字體:
來源:轉載
供稿:網友
做大批量的數據刪除時,如果有個全選按鈕把多個頁面上顯示的記錄全都選中刪除那比一條條的刪除要人性化得多,接下來說一說如何實現,其實網上一搜有好多文章都是說如何進行批量刪除的,大體上可以分為兩大類1:利用JS腳本實現全選。2:在服務器端實現全選
首先來說一說如何利用JS實現全選
往頁面上拖一個GridView,設置好數據源,并為GridView添加一個模板列,往模板列里添加一個chekcbox,比如下面的代碼

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ProductID"
    DataSourceID="SqlDataSource1">
    <Columns>
        <asp:BoundField DataField="ProductID" HeaderText="ProductID" InsertVisible="False"
            ReadOnly="True" SortExpression="ProductID" />
        <asp:BoundField DataField="ProductName" HeaderText="ProductName" SortExpression="ProductName" />
        <asp:BoundField DataField="SupplierID" HeaderText="SupplierID" SortExpression="SupplierID" />
        <asp:BoundField DataField="CategoryID" HeaderText="CategoryID" SortExpression="CategoryID" />
        <asp:TemplateField>
            <ItemTemplate>
                <asp:CheckBox ID="chk_Del" runat="server" />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>接下來往頁面上添加一個checkbox控件
<asp:CheckBox ID="chk_JS" runat="server" Text="全選(JS)" onclick="selectAll(this)"/>
并為該控件編寫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>基本效果就有了,接下來我們在點綴一下。在網頁中添加一個button
<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;
}
2通過服務器端代碼實現全選
向頁面同添加一個CheckBox并將AutoPostBack屬性設置成true,并為它添加CheckedChanged事件
<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;
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万全县| 大安市| 高清| 双城市| 中宁县| 栾川县| 张家川| 庆城县| 肃宁县| 宝兴县| 拉萨市| 岳普湖县| 赫章县| 宁都县| 新民市| 大方县| 手游| 黎城县| 栾川县| 禹城市| 深圳市| 镇巴县| 长垣县| 汕尾市| 仲巴县| 新疆| 五大连池市| 洞头县| 即墨市| 天长市| 姜堰市| 昔阳县| 丹寨县| 芜湖市| 大足县| 寿阳县| 铜山县| 孟连| 城固县| 黄石市| 博客|