方法一,用 js 实现

<script type="text/javascript">
//<![CDATA[
function CheckAll(oCheckbox)
{
var GridView1 = document.getElementById("<%=GridView1.ClientID %>");
for(i = ;i < GridView1.rows.length-; i++)
{ GridView1.rows[i].cells[].getElementsByTagName("INPUT")[].checked = oCheckbox.checked;
}
} //]]>
</script> <asp:GridView ID="GridView1" runat="server" Font-Size="12px" BackColor="#FFFFFF"
GridLines="Both" CellPadding="" DataKeyNames="id" AutoGenerateColumns="false" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowDataBound="GridView1_RowDataBound" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging1">
<HeaderStyle BackColor="#EDEDED" Height="26px" />
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<input id="Checkbox2" type="checkbox" onclick="CheckAll(this)" runat="server" /><label>全选</label>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="ItemCheckBox" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="序号">
<ItemTemplate>
<%#Container.DataItemIndex + %>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="id" HeaderText="编号" ReadOnly="True" />
<asp:BoundField DataField="name" HeaderText="姓名" ReadOnly="True" />
<asp:TemplateField HeaderText="身份证号"> <ItemTemplate>
<%#Eval("card") %>
</ItemTemplate> <EditItemTemplate>
<asp:TextBox ID="TBCard" Text='<%#Eval("card") %>' runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" Display="Dynamic" ControlToValidate="TBCard" runat="server" ErrorMessage="请填写身份证号"></asp:RequiredFieldValidator> </EditItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="学历"> <ItemTemplate>
<%#Eval("xueliText")%>
</ItemTemplate> <EditItemTemplate>
<asp:HiddenField ID="HDFXueli" runat="server" Value='<%#Eval("xueli") %>' />
<asp:DropDownList ID="DDLXueli" runat="server">
</asp:DropDownList>
</EditItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="价格"> <ItemTemplate>
<%#Eval("price")%>
</ItemTemplate> <EditItemTemplate>
<asp:TextBox ID="TBPrice" Text='<%#Eval("price") %>' runat="server"></asp:TextBox>
</EditItemTemplate> </asp:TemplateField>
<asp:BoundField HeaderText="建立时间" DataField="createdate" ReadOnly="True" />
<asp:CommandField ShowEditButton="True" HeaderText="修改" />
<asp:TemplateField HeaderText="删除">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete"
Text="删除" OnClientClick="return confirm('您确认删除该记录吗?');"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

在 .CS 中取值:

protected void Button1_Click(object sender, EventArgs e)
{
this.Label1.Text = ""; foreach (GridViewRow gvr in GridView1.Rows)
{
CheckBox ch = (CheckBox)gvr.FindControl("ItemCheckBox");
if (ch.Checked)
{
this.Label1.Text += "<li>GridView1 您选择的是(键值):" + GridView1.DataKeys[gvr.RowIndex].Value.ToString(); }
} }

方法二:

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowDataBound="GridView1_RowDataBound" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" AutoGenerateColumns="False" DataKeyNames="id,name" DataMember="card,price">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Text="全选" AutoPostBack="true" OnCheckedChanged="CheckAll" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="ItemCheckBox" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="序号">
<ItemTemplate>
<%#Container.DataItemIndex + %>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="id" HeaderText="编号" ReadOnly="True" />
<asp:BoundField DataField="name" HeaderText="姓名" ReadOnly="True" /> <asp:TemplateField HeaderText="身份证号"> <ItemTemplate>
<%#Eval("card") %>
</ItemTemplate> <EditItemTemplate>
<asp:TextBox ID="TBCard" Text='<%#Eval("card") %>' runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" Display="Dynamic" ControlToValidate="TBCard" runat="server" ErrorMessage="请填写身份证号"></asp:RequiredFieldValidator> </EditItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="学历"> <ItemTemplate>
<%#Eval("xueliText")%>
</ItemTemplate> <EditItemTemplate>
<asp:HiddenField ID="HDFXueli" runat="server" Value='<%#Eval("xueli") %>' />
<asp:DropDownList ID="DDLXueli" runat="server">
</asp:DropDownList>
</EditItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="价格"> <ItemTemplate>
<%#Eval("price")%>
</ItemTemplate> <EditItemTemplate>
<asp:TextBox ID="TBPrice" Text='<%#Eval("price") %>' runat="server"></asp:TextBox>
</EditItemTemplate> </asp:TemplateField> <asp:BoundField HeaderText="建立时间" DataField="createdate" ReadOnly="True" />
<asp:CommandField ShowEditButton="True" HeaderText="修改" />
<asp:TemplateField HeaderText="删除">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete"
Text="删除" OnClientClick="return confirm('您确认删除该记录吗?');"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns> </asp:GridView>

在 cs中:

protected void CheckAll(object sender, EventArgs e)
{
CheckBox cbx = (CheckBox)sender;
foreach (GridViewRow gvr in GridView1.Rows)
{
CheckBox ch = (CheckBox)gvr.FindControl("ItemCheckBox");
ch.Checked = cbx.Checked;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
this.Label1.Text = "";
foreach (GridViewRow gvr in GridView1.Rows)
{
CheckBox ch = (CheckBox)gvr.FindControl("ItemCheckBox");
if (ch.Checked)
{
this.Label1.Text += "<li>GridView1 您选择的是(键值):" + GridView1.DataKeys[gvr.RowIndex].Value.ToString();
}
} }

GridView 用 checkbox 全选并取值的更多相关文章

  1. js搜索相同类型的控件全选、取值(Checkbox)

    function selectAll(obj) { if (obj.checked) { $("input[type='checkbox']").each(function () ...

  2. 练习-checkbox 全选 ,反选, 单选,以及取值

    1.方法1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w ...

  3. GridView CheckBox 全选

    GridView CheckBox 全选 <script type="text/javascript"> $(function () { $("#allChe ...

  4. jquery数组之存放checkbox全选值示例代码

    使用jquery数组可以存放checkbox全选值,下面有个不错的示例,感兴趣的朋友可以参考下. 复制代码代码如下: <input type="checkbox" id=&q ...

  5. JQuery 判断checkbox是否选中,checkbox全选,获取checkbox选中值

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

  6. jquery checkbox全选,全不选,反选方法,jquery checkbox全选只能操作一次

    jquery checkbox全选,全不选,反选方法, jquery checkbox全选只能操作一次, jquery checkbox全选只有第一次成功 >>>>>&g ...

  7. jquery中checkbox全选失效的解决方法

    这篇文章主要介绍了jquery中checkbox全选失效的解决方法,需要的朋友可以参考下     如果你使用jQuery 1.6 ,代码if ( $(elem).attr(“checked”) ),将 ...

  8. TreeView checkbox 全选

    在使用TreeView 控件 ,进行权限管理的时候,需要使用 checkbox全选. 勾选父节点,子节点全部选中.取消父节点,子节点不选中. 勾选子节点,父节点也选中. 以下是在使用的例子: < ...

  9. JS checkbox 全选 全不选

    /* JS checkbox 全选 全不选 Html中checkbox: <input type="checkbox" name="cbx" value= ...

随机推荐

  1. LeetCode: Convert Sorted List to Binary Search Tree 解题报告

    Convert Sorted List to Binary Search Tree Given a singly linked list where elements are sorted in as ...

  2. POJ-1475-Pushing Boxes(BFS)

    Description Imagine you are standing inside a two-dimensional maze composed of square cells which ma ...

  3. 安装vs2013以后,链接数据库总是报内存损坏,无法写入的错误

    安装vs2013以后,链接数据库总是报内存损坏,无法写入的错误 这个错误几个月以前解决过一次,但是到又碰到的时候,竟然完全忘记当时怎么解决的了, 看来上了年纪记忆真是越来越不行了... 解决方案很简单 ...

  4. linux 系统运维

    Linux 系统监控1.进程    查看所有进程     ps -ef     ps -ef |grep nginx 结束进程    # 结束进程号为5031    kill -g 5031 # 结束 ...

  5. make no mistake, we are the last line of defense.

    make no mistake, we are the last line of defense.

  6. 阿里云ubuntu环境笔记

    安装jdk8 1.下载JDK 从官网下载jdk8 jdk-8u5-linux-x64.tar.gz 2.解压 $ tar -zxvf jdk-8u5-linux-x64.tar.gz 解压出来是一个j ...

  7. [转]GeoHash核心原理解析

    原文出处: zhanlijun    引子 机机是个好动又好学的孩子,平日里就喜欢拿着手机地图点点按按来查询一些好玩的东西.某一天机机到北海公园游玩,肚肚饿了,于是乎打开手机地图,搜索北海公园附近的餐 ...

  8. 关于同一台机器上安装多个sql实例的连接方法

    由于客户需要在一台服务器上安装了两个sql服务器(一个sql2000,一个是sql2005,其实例名不同),默认的端口1433被先安装的sql2000使用,后来安装的的随机启用了一个3045端口.其中 ...

  9. CentOS下Redis服务器安装配置

    说明: 操作系统:CentOS 1.安装编译工具 yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-de ...

  10. JavaScript 中介者模式与观察者模式有何不同?

    http://addyosmani.com/resources/essentialjsdesignpatterns/book/#detailmvp 感觉二者非常像,都是pub/sub机制,如何进行区分 ...