ASP.NET GirdView学习之六 使用模板列实现多行删除

1using System; 2using System.Data; 3using System.Configuration; 4using System.Collections; 5using System.Web; 6using System.Web.Security; 7using System.Web.UI; 8using System.Web.UI.WebControls; 9using System.Web.UI.WebControls.WebParts;10using 

System.Web.UI.HtmlControls;11using System.Collections.Generic;1213public partial class GridViewTemplateTest : System.Web.UI.Page14

{15    //当前页码,从0开始16    private int curPage17    {18        get19        {20            return ViewState["curPage"] == null ? 0 : Convert.ToInt32(ViewState["curPage"]);21        }22        set23        {24            ViewState["curPage"] = value;25        }26    }27    protected void Page_Load(object sender, EventArgs e)28    {29        if (!IsPostBack)30        {31            ClientInfoAccessObj accessor = new ClientInfoAccessObj();32            curPage = 0;  //显示第一页
33            GridView1.DataSource = accessor.GetAllClients();34            GridView1.DataBind();35        }36    }37    protected void btnDeleteSelectedInfo_Click(object sender, EventArgs e)38    {39        List<int> SelectedClientIDs = GetSelectedClientIDs();40        if (SelectedClientIDs.Count == 0)41            return;4243        ClientInfoAccessObj accessor = new ClientInfoAccessObj();44        foreach (int id in SelectedClientIDs)45        {46            accessor.DeleteClientInfoForID(id);47        }48        ClientScript.RegisterStartupScript(this.GetType(), "info", "alert('记录已成功删除');", true);4950        //计算应该显示哪一页51        if (SelectedClientIDs.Count == GridView1.PageSize) //选中全页上的所有记录52            if (curPage != 0)53                curPage--;   //显示前一页545556        //重新绑定数据并显示57        GridView1.DataSource = accessor.GetAllClients();58        GridView1.PageIndex = curPage;59        GridView1.DataBind();60    }6162    private List<int> GetSelectedClientIDs()63    {64        List<int> ids = new List<int>();65        //循环查找被选中的行66        foreach (GridViewRow gvr in GridView1.Rows)
67        {68            //是数据行69            if (gvr.RowType == DataControlRowType.DataRow)70            {71                //根据模板列中的控件ID查找指定的控件72                CheckBox chk = gvr.FindControl("CheckBox1") as CheckBox;73                if ((chk != null) && chk.Checked)74                    //取出选中行的主键,加入到集合中75                    ids.Add((int)GridView1.DataKeys[gvr.RowIndex].Value);76            }77        }78        return ids;79    }80    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)81    {82        ClientInfoAccessObj accessor = new ClientInfoAccessObj();83        GridView1.DataSource = accessor.GetAllClients();84        GridView1.PageIndex = e.NewPageIndex;85        GridView1.DataBind();86        //保存当前页码87        curPage = e.NewPageIndex;88    }89}90

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索web
, gridview
, checkbox学习
, viewstate
, 删除选中的多行数据?
, system
, datasource
, girdview
, item背景girdview
Accessor
,以便于您获取更多的相关知识。

时间: 2024-10-23 05:24:44

ASP.NET GirdView学习之六 使用模板列实现多行删除的相关文章

VB.net技巧之六------DataGrid模板列中的超级链接

datagrid|技巧|链接|模板 WebForm2.aspx 文件: <%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm2.aspx.vb" Inherits="house.WebForm2"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN&

ASP.NET GirdView学习之三 排序

要先设置GridView的AllowSortring=true,这样当点击列标题的时候才能激发GridView的Sorting事件进行排序 1using System; 2using System.Data; 3using System.Configuration; 4using System.Collections; 5using System.Web; 6using System.Web.Security; 7using System.Web.UI; 8using System.Web.UI

asp.net GridView控件中模板列CheckBox全选、反选、取消_实用技巧

复制代码 代码如下: using System; using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebC

ASP.NET 2.0 中动态添加 GridView 模板列

动态添加列,关键是实现 ITemplate.InstantiateIn 方法.下面是一个添加 GridView 模板列的例子. C#代码 <%...@ Page Language="C#" %><%...@ Import Namespace="System.Data" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http

ASP.NET 2.0 中动态添加 GridView 模板列的例子

asp.net|动态|模板 动态添加列,关键是实现 ITemplate.InstantiateIn 方法.下面是一个添加 GridView 模板列的例子. C#代码 <%...@ Page Language="C#" %><%...@ Import Namespace="System.Data" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu

asp.net GridView模板列中实现选择行功能_实用技巧

大部分的功能采用通过模板列实现,为了方便选择和删除使用了它自带的功能和方法,很容易就能实现,没发现有什么大问题:但是在部署到服务器中,发现选择显示的不是文字,而是"select",也没查出是什么原因,后面不得不改为通过模板列实现. 在改为模板列实现时,发现gv_sjy_RowCommand事件里不能通过e.CommandArgument获取行的索引值,只能另想途径了,发现有两种方法可以做到: 第一种: 复制代码 代码如下: <asp:LinkButton ID="btn

手工创建datagrid数据列/模板列/按钮事件+简单的数据操作类(asp.net)

  1)创建datagrid数据列/模板列/按钮的操作类:using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System

ASP.NET 2.0中实现模板中的数据绑定

asp.net|模板|数据 模板化的数据绑定控件为我们在页面上显示数据提供了根本的灵活性.你可能还记得ASP.NET v1.x中的几个模板化控件(例如DataList和Repeater控件).ASP.NET 2.0仍然支持这些控件,但在模板中绑定数据的语法已经被简化和改善了.本文将讨论在数据绑定控件模板中绑定数据的多种方法. 数据绑定表达式 ASP.NET 2.0改善了模板中的数据绑定操作,把v1.x中的数据绑定语法DataBinder.Eval(Container.DataItem, fiel

动态模板列更新数据分页的例子

动态|分页|模板|数据 在上次给出了动态模板列的一个例子,网友问我更新操作和分页怎么做,下面给出代码. 前台:<%@ Page language="c#" Codebehind="WebForm30.aspx.cs" AutoEventWireup="false" Inherits="csdn.WebForm30" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML