<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="GridView跨页多选._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>GridView跨页面多选</title>
    <script type="text/javascript">
      //这是使用JavaScript
    function Check(ck)
    {
        if(ck.checked)
        {
            form1.Hidden1.value += ","+ck.value;
        }
        else
        {
            form1.Hidden1.value = form1.Hidden1.value.replace(","+ck.value,"");
        }
    }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
   
        <asp:GridView ID="GridView1" runat="server" AllowPaging="True"
            AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333"
            GridLines="None" Height="184px"
            OnPageIndexChanging="GridView1_PageIndexChanging"
            OnRowDataBound="GridView1_RowDataBound" PageSize="2" Width="515px">
            <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <Columns>
                <asp:TemplateField HeaderText="选择">
                    <ItemStyle HorizontalAlign="Center" />
                    <ItemTemplate>
                        <input ID="ltName" runat="server" name="ltName" οnclick="Check(this)"
                            type="checkbox" value='<%# Eval("name") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="id" HeaderText="学生ID">
                    <ItemStyle HorizontalAlign="Center" />
                </asp:BoundField>
                <asp:BoundField DataField="name" HeaderText="学生姓名">
                    <ItemStyle HorizontalAlign="Center" />
                </asp:BoundField>
                <asp:BoundField DataField="sex" HeaderText="性别">
                    <ItemStyle HorizontalAlign="Center" />
                </asp:BoundField>
                <asp:BoundField DataField="times" HeaderText="入学时间">
                    <ItemStyle HorizontalAlign="Center" />
                </asp:BoundField>
            </Columns>
            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
            <EditRowStyle BackColor="#999999" />
            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
            <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
            <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
        </asp:GridView>
        <br />
        <asp:Button ID="btnGet" runat="server" Text="获取选择内容" οnclick="btnGet_Click" />
        <br />
        <asp:Label ID="lbShow" runat="server"></asp:Label>
        <br />
        <input id="Hidden1" type="hidden"  runat="server"/>
    </div>
    </form>
</body>
</html>
后台

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;

namespace GridView跨页多选
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Bind();
            }
        }
        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            this.GridView1.PageIndex = e.NewPageIndex;
            Bind();
        }

protected void btnGet_Click(object sender, EventArgs e)
        {
            lbShow.Text = Hidden1.Value.Replace(",", "<li>");
        }
        protected void Bind()
        {
            SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=123456;database=Test;");
            SqlDataAdapter da = new SqlDataAdapter("select * from students", con);
            DataSet ds = new DataSet();
            da.Fill(ds, "students");

this.GridView1.DataSource = ds.Tables["students"].DefaultView;
            this.GridView1.DataBind();

}
        //保证翻页时复选框仍然选中
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                if (Hidden1.Value.IndexOf(e.Row.Cells[2].Text) >= 0)
                {
                    HtmlInputCheckBox box = (HtmlInputCheckBox)(e.Row.Cells[0].FindControl("ltName"));
                    box.Checked = true;
                }
            }
        }
    }
}

转载于:https://www.cnblogs.com/tiwlin/archive/2009/09/17/1568266.html

GridView跨页面多选相关推荐

  1. html word表格边框变成表格,word表格边框显示不全跨页面显示的解决方法

    word表格是很多伙伴常会使用到的一款办公软件,那你晓得边框显示不全跨页面显示如何处理吗?如若不了解的话,就看看下文word表格边框显示不全跨页面显示的解决方法吧. word表格边框显示不全跨页面显示 ...

  2. layui.table(表格)跨页多选

    layui版本:2.5.4 使用数据表格时可能会需要在翻页时保留各个页面选中行的信息,效果如下. 效果演示 实现思路 实现思路大致分为以下三步 1.定义两个全局变量用于保存选中行的id,以及当前页所有 ...

  3. layui表格中开启复选框后,怎么获取跨页勾选的全部数据,layui表格获取勾选的所有数据,获取跨页勾选数据的数量,如何预渲染让数据默认勾选上?

    这个功能layui 本身可能没直接提供给我们相关的功能  ,需要自己写出来了  有几个疑点  可能要一一排查出来 核心点: 能不能有一个状态值 能判断当前行的数据 是否是勾选状态 然后就可以 一步一步 ...

  4. 如何在vue项目中,跨页面(跨路由)使用新手引导工具 Intro.js

    文章目录 功能要求 使用Intro.js遇到的问题以及代码 1.不能跨路由 utils -> intro.js 2.要在页面引导所需显示的数据全部拿到且渲染完毕以后加载Intro.js intr ...

  5. MVVM跨页面数据传输

    MVVM跨页面数据传输 一.MVVM是什么? MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model),有几大优点 低耦合.视图(View)可以独立于Model变化和修改,一个 ...

  6. js实现跨页勾选复选框

    在这里插入代码片# 前台列表页面实现跨页勾选复选框 思路:分页是后台服务端分页.做不到实时性.所以在js中可以封装一个js Map,每勾选一个将勾选的主键放到Map中,取消勾选时将其从Map中移除.不 ...

  7. 跨页面传递参数与数据回填

    开发工具与关键技术: VisualStudio 2015 mvc 作者:杨泽平 撰写时间:2019.7.12 跨页面回填,在回填方法里也是用的比较多的一种,他有区别于其他回填方法的就是,他需要在不同的 ...

  8. js 监听 安卓事件_百行代码实现js事件监听实现跨页面数据传输

    百行代码实现js事件监听实现跨页面数据传输 使用场景 类似消息队列的使用场景,支持同页面和跨页面通信,发送消息和接收消息 技术原理 跨页面通信: 基于事件监听,通过监听 storage事件监听回调机制 ...

  9. [转]html5: postMessage解决跨域和跨页面通信的问题

    [转]html5: postMessage解决跨域和跨页面通信的问题 参考文章: (1)[转]html5: postMessage解决跨域和跨页面通信的问题 (2)https://www.cnblog ...

  10. angularJs 跨控制器与跨页面传值

    虽然网上概括了四种或更多的传值方式,但我现在用的顺手的就两种 首先要知道AngularJs可以构建一个单页面应用程序,所以我划分为跨控制器传值 和 跨页面传值 两类 1.跨控制器传值-- $rootS ...

最新文章

  1. VMware安装CentOS之三——CentOS网络设置及软件安装
  2. apache2.2配置php,PHP5+APACHE2.2配置_PHP教程
  3. onenote设置默认新建页面颜色非白色
  4. java路径Java开发中获得非Web项目的当前项目路径
  5. 程序的静态链接,动态链接和装载
  6. 半导体物理学习整理(一)
  7. 大数据兼云计算(王明龙)讲师-JAVA-DAY05-基本数据类型
  8. python爬虫数据寻找过程(解决爬虫异步导致AttributeError: 'NoneType' object has no attribute 'find_all'错误)
  9. 知识图谱算法岗位招聘要求总结
  10. 春秋战国时期灭了三个国家的陈国女人
  11. idea2018激活方式
  12. 兴趣专业测试软件,霍兰德职业兴趣测试 在线工具
  13. 白话空间统计之二十五:空间权重矩阵(四)R语言中的空间权重矩阵(5)完结篇:自然临近关系
  14. 任正非蜕变,华为新生
  15. WQ7033开发指南(基础篇)之1.0 开发环境搭建和编译
  16. Codeforces Round #645 (Div. 2) D - The Best Vacation 题解(二分+思维)
  17. iOS固件SHSH备份工具TinyUmbrella 5.00.12a更
  18. U盘启动盘安装系统,使用Diskpart命令对磁盘进行分区
  19. 网络入侵检测系统之Suricata(三)--日志代码详解
  20. 仙人掌之歌——权力的游戏(2)

热门文章

  1. shell应用之cobbler批量部署
  2. ceoi2017 Building Bridges(build)
  3. 星球大战 BZOJ 1015
  4. jquery省市插件
  5. quartz2D简单使用
  6. C#----接口的显式实现
  7. Jmeter(二十三)稳定性测试后的波形图
  8. centos7下扩充swap空间
  9. Hdu2612Find a way bfs
  10. jstl中的日期格式化