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和我一样的人有所帮助!有不明白的地方可以留言问我。

  • 相关阅读:
    Centos7 ftp服务器搭建
    搭建单机版spark
    JAVA JDBC大数据量导入Mysql
    springboot使用自带连接池连接postgre
    linux centos6安装postgresql
    SpringBoot中配置不序列化返回值为null的属性
    sublime 3 安装格式化JSON插件
    HIve分组查询返回每组的一条记录
    FastJson乱序问题
    深入理解迪杰斯特拉算法
  • 原文地址:https://www.cnblogs.com/tangxueyang/p/GridView_All.html
Copyright © 2011-2022 走看看