很简单的方法,就是用js实现:

页面:

<asp:datagrid id="dgUserList" runat="server" Width="640px" BorderColor="White" PagerStyle-HorizontalAlign="Right"
                 AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False">
                 <AlternatingItemStyle BackColor="#F5F5F5"></AlternatingItemStyle>
                 <ItemStyle HorizontalAlign="Center"></ItemStyle>
                 <HeaderStyle HorizontalAlign="Center" ForeColor="White" BackColor="#4A95FD" Height="8"></HeaderStyle>
                 <PagerStyle HorizontalAlign="Right" Mode="NumericPages"></PagerStyle>
                 <Columns>
                  <asp:TemplateColumn>
                   <HeaderTemplate>
                    <asp:CheckBox id="chkAll" runat="server"></asp:CheckBox>
                   </HeaderTemplate>
                   <ItemTemplate>
                    <asp:CheckBox id="chkItem" runat="server"></asp:CheckBox>
                   </ItemTemplate>
                  </asp:TemplateColumn>
                  <asp:BoundColumn DataField="id" HeaderText="序号"></asp:BoundColumn>
                  <asp:BoundColumn DataField="username" HeaderText="用户名"></asp:BoundColumn>
                  <asp:BoundColumn DataField="workno" HeaderText="工号"></asp:BoundColumn>
                  <asp:BoundColumn DataField="dept" HeaderText="部门"></asp:BoundColumn>
                 </Columns>
                 <PagerStyle Visible="False" HorizontalAlign="Right" Mode="NumericPages"></PagerStyle>
                </asp:datagrid>

后台代码:

private void dgUserList_PreRender(object sender, System.EventArgs e)
  {
   foreach (DataGridItem item in dgUserList.Controls[0].Controls)
   {
    if (item.ItemType == ListItemType.Header)
    {
     CheckBox chkAll=(CheckBox)item.FindControl("chkAll");
     System.Text.StringBuilder strScript = new System.Text.StringBuilder("<script language='javascript'> \n");
     strScript.Append("    function checkStatus() { \n");
     strScript.Append("        var bAll = true; \n");
     strScript.Append("        bAll = document.all('" + chkAll.ClientID + "').checked; \n");

for(int i=0; i<dgUserList.Items.Count ; i++)
     {
      strScript.Append("        document.all('" + dgUserList.Items[i].Cells[0].FindControl("chkItem").ClientID + "').checked = bAll; \n");
     }
     strScript.Append("    } \n");
     strScript.Append("</script> \n");

if(!Page.IsClientScriptBlockRegistered("checkStatus"))
      Page.RegisterClientScriptBlock("checkStatus",strScript.ToString());

chkAll.Attributes.Add("onclick","checkStatus()");
     return;
    }
   }

<?xml:namespace prefix = asp />

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=74202

转载于:https://www.cnblogs.com/rand/archive/2006/04/11/372480.html

在DataGrid页眉上添加全选的CheckBox控件相关推荐

  1. easyui datagrid reload后自动全选解决

    easyui datagrid reload(刷新)后自动全选了 // 加载成功后 onLoadSuccess:function(){ dg.datagrid("uncheckAll&quo ...

  2. 关于QTableWidget表头添加全选按钮

    关于QTableWidget表头添加全选按钮 实现效果 全不选 全选 解决方案思路 点击表头触发sectionClicked连接槽函数再将表头Icon设置成对应的图片即可 信号与槽 connect(u ...

  3. [收藏]为DataGrid添加CheckBox控件

    作者:孟宪会 出自:[孟宪会之精彩世界] 发布日期:2003年5月23日 8点26分11秒 为DataGrid添加CheckBox控件,并实现"全选"功能.这里是实现的例子 VB. ...

  4. Android开发CheckBox控件,全选,反选,取消全选

    在Android开发中我们经常会使用CheckBox控件,那么怎么实现CheckBox控件的全选,反选呢 首先布局我们的界面: <?xml version="1.0" enc ...

  5. html下拉框 multiple,多选下拉控件的使用(select-option)multiple-select

    多选下拉控件的使用(select-option) 1.第一个组件是写bootstrap table的主人公 2.第二个组件 本篇中使用的是第一个控件来实现多选下拉框: 首先引入支持文件 multipl ...

  6. 选择DataGrid中的CheckBox控件后该行背景变色

    在网络开发中,经常遇到需要使用ASP.NET与JavaScript联合进行控制的情况.在本篇中,将使用DataGrid进行数据绑定,使用Javascript控制当选中其中的checkbox时,该行颜色 ...

  7. ASP.NET与JavaScript联合操作之一 选择DataGrid中的CheckBox控件后该行背景变色

    在网络开发中,经常遇到需要使用ASP.NET与JavaScript联合进行控制的情况.在本篇中,将使用DataGrid进行数据绑定,使用Javascript控制当选中其中的checkbox时,该行颜色 ...

  8. 使用控件设计窗体 上 布局主窗体 添加标签与文本框控件

    使用控件设计窗体 上 布局主窗体 添加标签与文本框控件 项目目标 所需控件 窗体基本设置 新建窗体 设置背景图片 设置平铺模式 设置icon 设置文字 修改名称 直接修改类名 标签控件与文本框控件 标 ...

  9. Silverlight使用DataGrid的模板列(DataGridTemplateColumn)实现类似TreeListView控件的效果

    Silverlight使用DataGrid的模板列(DataGridTemplateColumn)实现类似TreeListView控件的效果 转载于:https://www.cnblogs.com/K ...

  10. Word中将传统的复选框型窗体域选项插件 批量替换成 复选框内容控件

    在Word 2007及更早的版本中,使用的是复选框型窗体域选项插件:在2010及更新的版本中,使用的是 复选框内容控件. 可以通过下面的VBA, 批量将旧插件更换为新插件. Sub ScratchMa ...

最新文章

  1. Java数据结构一 —— Java Collections API中的表
  2. 【每日一题】剑指 Offer 10- I. 斐波那契数列
  3. 火狐浏览器 firebug调试不能载入javascript
  4. CCF关于对NOIP2018复赛违规处罚的公告
  5. react native基本调试技巧
  6. 关闭windows自带杀毒软件Windefend命令,命令行关闭windows服务
  7. == 和 equals方法的区别
  8. JQ实现列表增删以及上下移动
  9. zuul压力测试与调优
  10. STM32启动文件详解
  11. paip.动画透明淡入淡出窗口之重绘性能
  12. 最新android APP框架介绍
  13. 有哪些较好用的项目管理软件?
  14. 压力传感器如何直接连接电脑笔记本采集数据表格导出
  15. BJFUOJ 1429
  16. 如何写出一份完美的BP(商业计划书)?
  17. 基于51单片机的简易减法器设计制作
  18. 使用phpword实现php生成word文件同时以邮件的形式发送word附件
  19. android 红包功能,[原创]实现某app的抢红包功能
  20. Tomcat部署服务成功,前端页面乱码问题处理

热门文章

  1. poj1270_toposort+回溯
  2. C++构造函数(复制构造函数)、析构函数
  3. 异序二分查找 二分查找方程根 二分查找重复元素最后一个
  4. C++基础——new与delete
  5. bzoj 2763: [JLOI2011]飞行路线 分层图
  6. 变量的引用类型和非引用类型的区别
  7. Oracle 11g Release 1 (11.1)——自动存储管理(Automatic Storage Management,ASM)
  8. MyBatis中大于和小于号的转义写法
  9. java中String字符串
  10. java中equals以及==的用法(简单介绍)