方法一,用 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. android 中handler的用法分析 (二)

    .Looper 的构造方法是私有的,不能在package外面直接初始化.一般通过Looper.prepare()初始化.Looper.myLooper()获取.2.Looper 中的静态变量 Thre ...

  2. 【特别推荐】8个富有创意的jQuery/CSS3插件

    现在的互联网上什么都有,但是真正好的创意却非常稀缺,包括WEB界面也是如此,今天我们要特别推荐8个富有创意的jQuery/CSS3插件,也许这几个插件能让你的WEB界面更加富有创意和人性化. 1.jQ ...

  3. 多线程调用WebClient速度变慢的问题

    设置 System.Net.ServicePoint 对象所允许的最大并发连接数 System.Net.ServicePoint 对象允许的最大并发连接数.默认值为 2 System.Net.Serv ...

  4. 通过 Storyboard 快速搭建一系列连贯性的视图控制器

    此例子只是一个简单的 Demo,这里没有过多介绍如何去实现,网上有很多关于 Storyboard 技术的介绍,请自行搜索. 效果如下: iPhone 5s   iPhone 6   iPhone 6 ...

  5. 跟随标准与Webkit源码探究DOM -- 获取元素之getElementsByClassName

    按照类名获取元素 -- getElementsByClassName(HTML5) 标准 WHATWG 在Document与Element上均有定义,原型 HTMLCollection getElem ...

  6. 明天去FDUSC报道了,GOD BLESS ALL OF US

    @lrb @tellmewtf @proverbs

  7. Qt5 从头学(1)-- 环境

    对我来说MFC太过麻烦了,同样是桌面开发工具,Qt就完全不一样了.Qt使用C++语言可以轻松实现"一次编写,到处编译"的跨平台性能,并且可以做出很多炫酷的界面效果.目前支持几乎所有 ...

  8. Android应用安全之外部动态加载DEX文件风险

    1. 外部动态加载DEX文件风险描述 Android 系统提供了一种类加载器DexClassLoader,其可以在运行时动态加载并解释执行包含在JAR或APK文件内的DEX文件.外部动态加载DEX文件 ...

  9. 12306外包给阿里巴巴/IBM到底是否可行?

    春运开始以后 12306 免不了要罢工几次,毕竟人民群众买票回家的热情实在是高涨,12306 很难承受如此大的压力.每次 12306 网站罢工以后都会有人忍不住对其进行吐槽,而还有人认为如果把 123 ...

  10. 各种Camera,总有一款适合你(二)

    在实际的项目开发中,一般需要程序抽象出一些在几何意义上有明确意义的参数,这样方便策划或美术在自己的机器上进行调试. 下面是一个可变参的地下城摄像机的简单实现: // 第三人称摄像机,平移和旋转会同时进 ...