zoukankan      html  css  js  c++  java
  • .NET中GridView控件的全选删除

    1.首先要在你的GridView的HeaderTemplate项模版里放一个HTML工具栏里的checkbox控件(注意:这里所说的不是标准里边的服务器控件)并在这个控件的onclick事件中调用步骤2里边的函数方法,也就是onclick="CheckAll(this)"这里边的this就是这个控件的本身,然后在你GridView的ItemTemplate项模版里边放一个标注工具栏里的checkbox控件(注意:这个是服务器控件,和上个正好相反)

    <HeaderTemplate>
    全选
    <input id="Checkbox2" type="checkbox" onclick="CheckAll(this)"/>
    </HeaderTemplate>

    <ItemTemplate>
    <asp:CheckBox ID="CheckBox1" runat="server" />
    </ItemTemplate>

    2.要在你实现这个功能的.aspx页面写一个函数方法

    代码
    <script type="text/javascript" language="javascript">
    function CheckAll(che)
    {
    var items
    =document.getElementsByTagName("input");
    for(i=0;i<items.length;i++)
    {
    if(items[i].type=="checkbox")
    {
    items[i].
    checked=che.checked;
    }
    }
    }
    </script>

    3.在.CS页面写一个方法,这个方法主要用于获得被选中列ID的集合(注意:这里边的Cells[1].Text中的1指的是ID列在你的GridView行的位置,索引从0开始,第一列即为Cells[0].Text以此类推)

    代码
    private string GetIdS()
    {
    string ids = string.Empty;
    for (int i = 0; i < this.GridView1.Rows.Count; i++)
    {
    CheckBox c
    =(this.GridView1.Rows[i].FindControl("CheckBox1")) as CheckBox;
    if (c.Checked == true)
    {
    ids
    += this.GridView1.Rows[i].Cells[1].Text + ",";
    }
    }
    if (ids.Length > 0)
    {
    ids
    = ids.Substring(0, ids.Length - 1);
    }
    return ids;
    }

    4,最后写删除语句,执行sql就可以了,ids就是上个方法返回的ids

    string sql = "delete from [Users] where [Id] in ("+ids+")";

    这样就可以轻松的实现GridView的全选删除功能,由于本人也是一个初学.NET的一个菜鸟把,有写的不明白的地方还请大家多多谅解,多多提出建议,希望对那些初学.NET和我一样的人有所帮助!有不明白的地方可以留言问我。

  • 相关阅读:
    C语言进阶—— 单引号和双引号14
    C语言进阶——注释符号12
    C语言进阶——enum, sizeof, typedef 分析11
    算法01
    vim+软件安装——06
    if(xx)和(a==b) 关于数据类型的转换
    浏览器的渲染机制,白屏和FOUC
    BFC的概念和解决外边距合并
    CSS有哪几种引入方式
    块级元素和行内元素的区别,常见的块级元素和行内元素有哪些
  • 原文地址:https://www.cnblogs.com/tangxueyang/p/GridView_All.html
Copyright © 2011-2022 走看看