`
流星剑
  • 浏览: 94683 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Gridveiw中全选和反选,批量删除

    博客分类:
  • .net
阅读更多

前台页面拖一个gridview控件:

<div>
         <asp:GridView ID="GridView1" runat="server"  AutoGenerateColumns="False" 
            DataKeyNames="UserCardNo">
            <Columns>
                <asp:BoundField DataField="UserCardNo" HeaderText="会员卡编号" />
                <asp:BoundField DataField="UserCardStatus" HeaderText="会员卡状态" />
                <asp:BoundField DataField="UserCardType" HeaderText="会员卡类型" />
                <asp:BoundField DataField="OwnerName" HeaderText="会员卡持有人" />
                <asp:BoundField HeaderText="会员卡积分" DataField="CardIntegral" />
               <asp:TemplateField HeaderText="选中指定记录">
                    <ItemTemplate>
                        <asp:CheckBox runat="server" ID="cbSelect" AutoPostBack="true" />
                    </ItemTemplate>
               </asp:TemplateField>
            </Columns>
        </asp:GridView>
        <asp:CheckBox ID="cbSelectAll" runat="server" Text="全选" AutoPostBack="True"
             oncheckedchanged="cbSelectAll_CheckedChanged" /><br />
        <asp:Button ID="btnOK" runat="server" Text="删除" onclick="btnOK_Click" OnClientClick="return confirm('确定删除吗?')" />
    </div>

  

 后台代码:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;

public partial class testDeleteAll : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            this.BindGrid();
        }
    }
    //绑定数据
    private void BindGrid()
    {
        //创建使用Windows登陆的 SqlConnection对象
        SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=123456;database=DemoDB");
        //创建SqlCommand对象
        SqlCommand com = con.CreateCommand();
        com.CommandText = "SELECT * FROM UserCard";

        //创建数据适配器对象
        SqlDataAdapter adpt = new SqlDataAdapter();
        adpt.SelectCommand = com;

        //填充DataSet
        DataSet ds = new DataSet();
        adpt.Fill(ds);

        //数据绑定
        this.GridView1.DataSource = ds;
        this.GridView1.DataBind();
    }
    //删除按钮
    protected void btnOK_Click(object sender, EventArgs e)
    {
        foreach (GridViewRow row in this.GridView1.Rows)
        {
            //获取每行中的复选框控件
            CheckBox chk = row.FindControl("cbSelect") as CheckBox;
            //判断复选框控件是否存在并且处于选中状态
            if (chk != null && chk.Checked)
            {
                //拼装IN子句中的ID值部分
                string no = this.GridView1.DataKeys[row.RowIndex].Value.ToString();
                string sql = "DELETE UserCard WHERE UserCardNo IN('" + no + "')";
                //创建使用Windows登陆的 SqlConnection对象
                SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=123456;database=DemoDB");
                //创建SqlCommand对象
                SqlCommand com = con.CreateCommand();
                com.CommandText = sql;
                con.Open();
                int i = com.ExecuteNonQuery();
                 if (i > 0)
                {
                    this.BindGrid();
                }
                else
                {
                    Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('未知原因导致删除失败!');</script>");
                }                con.Close();
            }
        }

    }
    //全选按钮
    protected void cbSelectAll_CheckedChanged(object sender, EventArgs e)
    {
        foreach (GridViewRow row in this.GridView1.Rows)
        {
            //获取每行中的复选框控件
            CheckBox chk = row.FindControl("cbSelect") as CheckBox;
            // CheckBox cb = (CheckBox)row.FindControl("cbSelect");
            //判断复选框控件是否存在
            //if (chk != null)
            //{
            //    //根据当前复选框选中状态设定GridView行中的复选框选中状态
            //    chk.Checked = this.cbSelectAll.Checked;
            //    continue;
            //}
            //continue;
            if (this.cbSelectAll.Checked == true)
            {
                chk.Checked = true;
            }
            else
            {
                chk.Checked = false;
            }
        }
    }
}

 

分享到:
评论

相关推荐

    checkbox全选反选与批量删除附源码

    在IT领域,尤其是在Web开发中,用户经常需要对列表中的多项数据进行操作,例如全选、反选和批量删除。这个场景通常涉及到前端交互和后端处理。在本例中,我们将探讨如何利用HTML的`checkbox`元素,JavaScript来实现...

    复选框的全选和反选、复选框的全选和反选

    总之,复选框的全选和反选功能是UI交互设计中的基础元素,它在数据管理、用户选择和批量操作等场景中起到关键作用。理解和熟练运用这一功能,可以提升应用的易用性和效率。在实际开发中,我们需要根据具体的技术栈和...

    带复选框的多级目录树,复选框的选择控制子节点父节点 全选和反选

    例如,React中有许多第三方库如`react-checkbox-tree`、`antd`的Tree组件等,它们内置了全选、反选和级联选择的功能。 总结来说,带复选框的多级目录树是一种高效的数据组织和操作方式,结合全选和反选功能,能极大...

    checkbox实现全选和反选经典例子

    在高级控件如DataGridView中,通过结合Checkbox可以实现全选和反选功能,为用户提供便捷的操作方式。这个经典例子将深入探讨如何在Web应用中实现这一功能。 1. **Checkbox基本概念** Checkbox是HTML中的一个表单...

    js实现全选和反选功能

    在JavaScript中,全选和反选功能通常应用于包含多个复选框(checkbox)的表单中。用户可以通过点击一个主复选框来选择或取消选择所有其他复选框。这个功能在网页表格、数据筛选等场景中非常常见,极大地提高了用户...

    Jquery实现全选和反选功能

    本教程将深入探讨如何使用jQuery实现全选和反选功能,这在多选列表或表格中非常常见,例如在批量处理数据时。 全选和反选功能的核心在于同步用户界面中的复选框状态。当用户点击一个主复选框(通常标记为“全选”)...

    android ListView中的checkBox全选和反选Demo

    综上所述,这个“android ListView中的checkBox全选和反选Demo”主要展示了如何在ListView中集成CheckBox,实现列表项的全选和反选功能,以及如何优化Adapter以提高性能。理解并掌握这些知识点对于Android开发者来说...

    WPF CheckBox全选、反选比较通用

    本教程将详细介绍如何在WPF中实现CheckBox的全选和反选功能。 首先,我们需要理解CheckBox的基本用法。在XAML中,我们可以创建一个CheckBox并为其设置文本和初始状态: ```xml 全选" x:Name="selectAllCheckbox" ...

    TreeView CheckBoxes 全选与反选

    "TreeView CheckBoxes 全选与反选"这个主题正是关于如何在TreeView中实现全选和反选功能的讨论。 首先,我们要理解TreeView的基本结构。TreeView控件由一个或多个TreeNode组成,每个TreeNode可以有子TreeNode,形成...

    Recyclerview 实现多选,单选,全选,反选,批量删除的功能的实现

    1.在Recyclerview布局中添加上底部的全选和反选按钮,删除按钮,和计算数量等控件  2.这里选中的控件没有用checkbox来做,用的是imageview,选中和不选中其实是两张图片  3.默认是不显示选中的控件的,点击编辑的时候...

    vue+vant-UI框架实现购物车的复选框全选和反选功能

    ### Vue+Vant-UI框架实现购物车复选框全选和反选功能 #### 1....在实际应用中,除了全选与反选之外,还可以进一步扩展更多功能,例如批量删除、价格计算、库存检查等,为用户带来更流畅的购物体验。

    silverlight实现datagrid全选、反选、分页、导出EXCEL

    在DataGrid中,全选和反选是常见的需求。全选允许用户一次性选择所有行,而反选则取消所有已选中的行。这通常通过在DataGrid的Header中添加一个复选框来实现。当用户点击这个复选框时,会触发事件,该事件遍历...

    带CheckBox的listView 支持多选,全选,反选

    在许多场景下,我们需要在ListView中加入复选框(CheckBox),实现多选、全选和反选的功能,例如在选择联系人、设置菜单等场景。这个“带CheckBox的listView”项目就是为了解决这类需求而设计的,并且已经解决了常见...

    三种方式实现checkbox全选,反选

    全选和反选功能在多选列表中尤其常见,例如在批量操作或者多条件筛选时。以下是三种实现Checkbox全选和反选的方法,以及它们的JavaScript和Java实现细节。 ### 方法一:使用`checked`属性 **JavaScript实现**: 在...

    Axure RP 复选框全选、反选

    用Axure RP 8.0做的原型设计列子,作用是复选框做全选和非全选,已选的做反选。可以学习下反选或非反选的交互思路。

    易语言巧妙全选或反选

    在IT行业中,编程语言的选择和使用是至关重要的。易语言是一种专为中国用户设计的、具有图形化编程界面的...通过不断地学习和实践,你可以在易语言中实现高效且易于理解的全选和反选功能,为用户提供便捷的操作体验。

    C#_WinForm_dataGridView_全选_反选_单选_导出

    C#的WinForm项目的dataGridView控件的CheckBox的全选、全不选、反选、单选、导出全部、仅导出已选择的项目到Excel的功能。简单明了,一看就懂。 我的腾讯微博:http://t.qq.com/djk8888

    ListView多选,全选,反选,全不选

    在实际应用中,我们经常需要实现ListView的多选功能,比如邮件应用中选择多个邮件进行操作,或者联系人应用中选择多个联系人进行批量删除等。本篇将详细介绍如何在ListView中实现多选、全选、反选和全不选功能。 ...

    易语言源码易语言巧妙全选或反选源码.rar

    "易语言巧妙全选或反选源码"这个标题和描述暗示了该压缩包可能包含了一段易语言源代码,这段代码实现了在某个程序或编辑器中实现全选或反选功能的算法。 全选和反选是编程中常见的功能,尤其是在文本编辑器或代码...

    vue2.0在table中实现全选和反选的示例代码

    Vue 2.0 中 Table 全选和反选的示例代码 在 Vue 2.0 中实现 Table 全选和反选是一种常见的交互方式,本文将介绍如何在 Vue 2.0 中实现 Table 全选和反选的示例代码。 知识点 1: 使用 Vue 的模板语法实现 Table 的...

Global site tag (gtag.js) - Google Analytics