GridView中实现CheckBox的全选

用服务器端的方法:
在页面上放一个gridview控件,配置好数据源,编辑列,

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False"
        DataKeyNames="AreaID" DataSourceID="SqlDataSource1">
        <Columns>
            <asp:BoundField DataField="AreaID" HeaderText="AreaID" ReadOnly="True" SortExpression="AreaID" />
            <asp:BoundField DataField="CityID" HeaderText="CityID" SortExpression="CityID" />
            <asp:TemplateField>
                <HeaderTemplate>
                    <asp:CheckBox ID="chkAll" runat="server" AutoPostBack="True"
OnCheckedChanged="chkAll_CheckedChanged" />
                </HeaderTemplate>
                <ItemTemplate>
                    <asp:CheckBox ID="chkItem" runat="server" />
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

  后台cs代码:

protected void chkAll_CheckedChanged(object sender, EventArgs e)
{
    for (int i = 0; i < this.GridView1.Rows.Count; i++)
    {
        ((CheckBox)GridView1.Rows[i].FindControl("chkItem")).Checked =
            ((CheckBox)this.GridView1.HeaderRow.FindControl("chkAll")).Checked;
    }
}

  用脚本实现:

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False"
        DataKeyNames="AreaID" DataSourceID="SqlDataSource1">
        <Columns>
            <asp:BoundField DataField="AreaID" HeaderText="AreaID" ReadOnly="True"
SortExpression="AreaID" />
            <asp:BoundField DataField="CityID" HeaderText="CityID" SortExpression="CityID" />
            <asp:TemplateField>
                <HeaderTemplate>
                    <input id="chkAll"  onclick="SelectAll(this)"; type=checkbox>
                </HeaderTemplate>
                <ItemTemplate>
                    <input id="chkItem" type=checkbox>
                 </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

function SelectAll(chkbox)
{
   var box=chkbox;
   state=theBox.checked;
   elem=box.form.elements;
   for(i=0;i<elem.length;i++)
   if(elem[i].type=="checkbox" && elem[i].id!=box.id)
    {
         if(elem[i].checked!=state)
         {
            elem[i].click();
         }
    }
 }

添加一个模版列,再编辑模版,放入一个checkbox控件。代码如下:

最新文章

  1. Geometry关系高级操作
  2. Python 学习---------Day2
  3. jQuery jquery.windy 快速浏览内容
  4. Android开发环境的发展演变
  5. 探索C++的秘密之详解extern &quot;C&quot;,这就是为什么很多.lib被我们正确调用确总是无法解析的。
  6. 2016.6.13 php与MySQL数据库交互之数据库中的商品信息展示
  7. 原版Windows XP Pro With SP3 VOL MSDN简体中文专业版
  8. Delphi 拖放文件编程(覆盖WM_DROPFILES消息)
  9. Mysql自增主键ID重新排序方法详解
  10. react学习笔记-02
  11. iframe标签flash遮盖页面元素问题——wmode参数
  12. 芝麻HTTP:Scrapy-Splash的安装
  13. LeetCode 797. All Paths From Source to Target
  14. Tigase 发送消息的流程源码分析
  15. BZOJ4327:[JSOI2012]玄武密码(SAM)
  16. producer发布消息
  17. java框架之SpringCloud(5)-Hystrix服务熔断、降级与监控
  18. 查找 管道 exec
  19. 开源数据同步神器——canal
  20. centos 6.5环境利用iscsi搭建SAN网络存储服务及服务端target和客户端initiator配置详解

热门文章

  1. div的显示和隐藏
  2. LNMP编译安装教程
  3. python之类的属性
  4. javascript中的闭包解析
  5. WPF ListBox响应鼠标滚轮
  6. BYTE 和字符串转换
  7. SilverlightOA源代码(可用于企业级Silverlight项目的二次开发,长年有效)
  8. Difference between applicationContext.xml and spring-servlet.xml in Spring Framework
  9. 1 、Linux-Rhel6终端介绍-Shell提示符
  10. Blackfin DSP(五):BF533的SPI接口