`
hugh-lin
  • 浏览: 72921 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

实现GridView控件的删除多条记录功能系列(1)

阅读更多
    在Asp.Net 2.0中新增的控件GridView可能是我们使用最普通的控件了,其用来显示数据的能力的确好用。GirdView内置有新增,修改,删除功能,结合ObjectDataSource控件,可以生成很好的三层体系的程序。但美中不足的就是其只支持单数据的操作,对于新增和修改而言倒还可以,但对于删除就不够了。我们往往希望能先选中我们要删除的记录,然后一次性删除,不仅方便而且提高了效率。
    为此,我们需要有能实现“全选/全不选”的CheckBox控件来配合GridView控件,以达到我们要实现的目的。
    “全选/全不选”的CheckBox控件程序代码如下:
 1using System;
 2using System.Collections.Specialized;
 3using System.Web;
 4using System.Web.UI;
 5using System.Web.UI.WebControls;
 6
 7namespace HughLin.Web.UI.WebControls
 8{
 9    /// <summary>
10    /// 可全选/全不选复选框控件
11    /// </summary>
12    public class CheckBox : System.Web.UI.WebControls.CheckBox
13    {
14        public CheckBox()
15        {
16        }
17
18        /// <summary>
19        /// 获取或设置被绑定的数据
20        /// </summary>
21        public string BindedValue
22        {
23            get
24            {
25                object obj1 = this.ViewState["BindedValue"];
26                return (obj1 == null? string.Empty : (string)obj1;
27            }
28            set
29            {
30                if (!string.IsNullOrEmpty(value))
31                {
32                    this.ViewState["BindedValue"= value;
33                }
34            }
35        }
36
37        /// <summary>
38        /// 获取或设置控件所在的组名称
39        /// </summary>
40        public string Group
41        {
42            get
43            {
44                object obj1 = this.ViewState["Group"];
45                return (obj1 == null? string.Empty : (string)obj1;
46            }
47            set
48            {
49                this.ViewState["Group"= value;
50            }
51        }
52
53        /// <summary>
54        /// 获取或设置一个值,该值标识控件是否为父级别
55        /// </summary>
56        public bool IsParent
57        {
58            get
59            {
60                object obj1 = this.ViewState["IsParent"];
61                return (obj1 == null? false : (bool)obj1;
62            }
63            set
64            {
65                this.ViewState["IsParent"= value;
66            }
67        }
68
69        protected override void OnPreRender(EventArgs e)
70        {
71            if (this.Visible && this.Enabled && !string.IsNullOrEmpty(this.Group))
72            {
73                if (!this.Page.ClientScript.IsClientScriptIncludeRegistered(typeof(CheckBox), "HughLin.CheckBox.js"))
74                {
75                    this.Page.ClientScript.RegisterClientScriptResource(typeof(CheckBox), "HughLin.CheckBox.js");
76                }
77                string text1 = "document.getElementById(\"" + this.ClientID + "\")";
78                this.Page.ClientScript.RegisterArrayDeclaration(this.Group, text1);
79            }
80            base.OnPreRender(e);
81        }
82
83        protected override void Render(HtmlTextWriter writer)
84        {
85            if (this.Enabled && this.Visible && !string.IsNullOrEmpty(this.Group))
86            {
87                if (!string.IsNullOrEmpty(this.BindedValue))
88                {
89                    writer.AddAttribute("value"this.BindedValue);
90                }
91                writer.AddAttribute("isparent"this.IsParent.ToString());
92                writer.AddAttribute(HtmlTextWriterAttribute.Onclick, "javascript:AspNetV2_Check(this, '" + this.Group + "');");
93            }
94            base.Render(writer);
95        }
96    }
97}

    CheckBox.js文件代码如下:
  1function AspNetV2_Check(item, group)
  2{
  3    var itemIsParent = (item.isparent.toLowerCase() == "true"? true : false;
  4    var itemChecked = item.checked;
  5    var objArray;
  6    try
  7    {
  8        objArray = eval(group);
  9    }
 10    catch (e)
 11    {
 12        return;
 13    }
 14    if (objArray == null || objArray.length == 0)
 15    {
 16        return;
 17    }
 18    if (itemIsParent)
 19    {
 20        AspNetV2_CheckAll(objArray, itemChecked);
 21    }
 22    else
 23    {
 24        AspNetV2_CheckIt(objArray, itemChecked);
 25    }
 26}
 27
 28function AspNetV2_CheckIt(newArray, itemChecked)
 29{
 30    if (!itemChecked)
 31    {
 32        for (var i = 0; i < newArray.length; i++)
 33        {
 34            var e = newArray[i];
 35            var isParent = (e.isparent.toLowerCase() == "true"? true : false;
 36            if (isParent)
 37            {
 38                e.checked = false;
 39            }
 40        }
 41    }
 42    else
 43    {
 44        var objAll;
 45        var allChecked = 0;
 46        for (var i = 0; i < newArray.length; i++)
 47        {
 48            var e = newArray[i];
 49            var isParent = (e.isparent.toLowerCase() == "true"? true : false;
 50            if (e.checked && !isParent)
 51            {
 52                allChecked++;
 53            }
 54            else if (isParent)
 55            {
 56                objAll = e;
 57            }
 58        }
 59        if (allChecked == newArray.length - 1)
 60        {
 61            objAll.checked = true;
 62        }
 63    }
 64}
 65
 66function AspNetV2_CheckAll(newArray, itemChecked)
 67{
 68    for (var i = 0; i < newArray.length; i++)
 69    {
 70        var e = newArray[i];
 71        var isParent = (e.isparent.toLowerCase() == "true"? true : false;
 72        if (!isParent)
 73        {
 74            if (e.checked != itemChecked)
 75            {
 76                e.checked = itemChecked;
 77            }
 78        }
 79    }
 80}
 81
 82function AspNetV2_CheckHasData(group)
 83{
 84    var objArray;
 85    var hasData = false;
 86    try
 87    {
 88        objArray = eval(group);
 89    }
 90    catch (e)
 91    {
 92        return hasData;
 93    }
 94    if (objArray == null || objArray.length == 0)
 95    {
 96        return hasData;
 97    }
 98    for (var i = 0; i < objArray.length; i++)
 99    {
100        var e = objArray[i];
101        if (e.checked)
102        {
103            hasData 
分享到:
评论

相关推荐

    GridView控件的概述

    ### GridView控件的概述 #### 一、简介 在ASP.NET Web应用程序开发中,`GridView`控件扮演着至关重要的角色。它不仅被广泛应用于数据的显示,而且因其丰富的特性和灵活性,在各种复杂的数据交互场景中都有着出色的...

    【ASP.NET编程知识】GridView控件实现数据的显示和删除(第8节).docx

    ASP.NET 编程知识 - GridView 控件实现数据的显示和删除 本节学习内容是新闻列表的实现,使用分页功能一个页面显示 4 条新闻。在新闻显示页面,添加一个字段“删除”,运行时,单击该行的“删除按钮时”,弹出...

    C# GridView+CheckBox删除记录

    特别是在涉及到多条记录的管理时,利用CheckBox来辅助用户选择需要操作的数据项变得尤为实用。本文将详细介绍如何在C#环境下使用GridView控件结合CheckBox实现对数据库中记录的删除功能。 #### 一、项目搭建 1. **...

    GridView实现增删改查

    对于“删除修改每一条记录”,GridView提供了内置的行编辑和删除功能。开启这些功能,只需设置GridView的AllowEditing和AllowDeleting属性为true。然后,为Edit和Delete按钮绑定适当的事件处理程序,如RowEditing、...

    新闻管理模块设计GridView控件与ADONET高级应用.pptx

    此外,为了实现新闻管理功能,可以使用GridView控件结合数据源控件,通过预定义的查询、修改和删除语句,通过点击GridView中的按钮来触发对新闻条目的相应操作,如修改新闻内容、删除新闻或者查看详细信息。...

    GridView 帮你了解控件

    GridView由一系列行和列组成,其中每一行代表数据源中的一条记录,而每一列则对应记录的字段。默认情况下,GridView会为每一条记录生成一个模板列,用于显示字段值。 3. 数据绑定: 使用GridView的第一步通常是将...

    GridView结合CheckBox实现多条删除.docx

    这个文档标题提到的“GridView结合CheckBox实现多条删除”就是一种常见的场景,它涉及到GridView控件和CheckBox控件的结合使用,以允许用户选择多个记录进行批量操作。 GridView是ASP.NET中一个强大的数据绑定控件...

    牛人GridView控件72般经典绝技

    以上只是部分GridView的使用技巧,实际应用中,开发者还可以结合其他ASP.NET控件和服务器端事件,以及前端技术,实现更多复杂的功能和定制化的用户体验。对于初学者来说,熟练掌握这些技巧将极大地提升开发效率。

    GridView使用集合

    一、表头表尾 1、自定义多行表头,列合并,行合并 2、删除表身指定列、行 3、固定表头,向下拉动滚动条时,表头固定不动 4、表脚行统计,总计、平均值 二、导入导出 ...根据主键多条记录删除,单条记录删除。

    asp.net GridView控件中实现全选的解决方案

    在实际应用中,常常需要提供全选功能,以便于用户一次性选择多条记录进行批量操作,如删除、修改等。本文将探讨两种在 GridView 控件中实现全选功能的解决方案。 **第一种:利用客户端控件实现全选** 这种方法通过...

    浅析五大ASP.NET数据控件

    首先,GridView控件是用于显示多条记录的表格形式的数据控件,它支持排序、分页、编辑和删除功能。由于其功能强大且易于使用,GridView通常是数据呈现的首选。在.NET 2.0及更高版本中,GridView控件增加了对数据源...

    GridView和CheckBox结合

    将两者结合使用,可以实现对多条记录的批量操作,如删除、编辑等。本文将基于提供的代码示例来详细解析`GridView`与`CheckBox`结合使用的具体实现方法。 #### 二、准备工作 **1. 数据库准备:** - 使用SQL Server...

    asp.net下gridview 批量删除的实现方法第1/3页

    在ASP.NET中,GridView控件是用于展示数据的常用组件,它可以轻松地进行数据操作,如添加、编辑和删除。本篇文章将详细讲解如何在GridView...通过这些步骤,用户就能方便地选择并删除多条记录,提高了数据管理的效率。

    GRID控件删除之前确认

    &lt;asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='("NewsID") %&gt;' CommandName="Delete" OnClientClick="return confirm('您确定要删除这条记录吗?');"&gt; 删除 &lt;/asp:GridView&gt; ``` 在...

    GridView 72般绝技.pdf

    - 在GridView控件中设置`AllowSorting`属性为`True`。 - 可通过前端JavaScript或者后端代码实现切换排序方向的功能。 #### 4. GridView和下拉菜单`DropDownList`结合 - **功能概述**:在GridView中集成下拉菜单,...

    gridview使用大全

    在ASP.NET开发中,GridView控件是一个非常常用的数据展示组件,尤其在网页表格数据的处理上,它提供了丰富的功能和自定义选项。本资源“gridview使用大全”旨在全面讲解如何充分利用GridView控件来实现各种复杂的...

    Gridview中checkBox选择数据的使用

    在Gridview中添加CheckBox可以方便地让用户选择一条或多条记录。 #### 如何在Gridview中使用CheckBox 在Gridview中使用CheckBox通常涉及到以下几个步骤: 1. **在Gridview中添加CheckBox列**:首先需要在Gridview...

    GridView使用全集(主要是方法实现讲解)

    在ASP.NET Web应用程序中,GridView控件是一种常用的数据展示组件,它可以轻松地绑定到数据源并展示数据。本文将深入探讨GridView的各种使用方法,包括代码分页、保存和恢复CheckBox的状态、排序、与DropDownList和...

Global site tag (gtag.js) - Google Analytics