在DataGrid页眉上添加全选的CheckBox控件

原创 2004年08月13日 22:41:00

很简单的方法,就是用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 />

WPF DataGrid表头Checkbox 全选与全反选

WPF 在使用DataGrid展示数据的时候经常会使用到checkbox列,特别是id列     例如下面这种效果:          WPF 要实现DataGrid checkbox全选与全反选,方...
  • aojiancc2
  • aojiancc2
  • 2017年02月09日 16:12
  • 2678

Flex中DataGrid实现列(包括头部)中加入CheckBox全选功能 几种实现方法

 在DataGrid中实现列中加入CheckBox这种用法很常见,项目中也经常会用到,在网上搜了下基本就是实现itemRender.但是 感觉网上提供的实现上好些地方都是多余的 经过自己的改造感...
  • u011589095
  • u011589095
  • 2014年08月14日 14:53
  • 1102

WPF中DataGrid实现全选

方法一:使用模板列 前台代码如下 后台实现如下  DataGridTemplateColumn templeColum...
  • asciil
  • asciil
  • 2016年11月22日 21:18
  • 1384

EasyUI入门2 datagrid复选框全选效果(通过约束条件实现部分项参与的全选效果)

datagrid如果有一些项因为约束条件(比如这一项需要显示出来,但是复选框是disable的),那么在点击全选或全否复选框的时候,这些状态是disable的行是不应该被选中的...
  • xiangcns
  • xiangcns
  • 2017年06月26日 08:40
  • 1891

WPF中DataGrid 添加checkbox实现全选、多选

在机房合作项目中,有一个窗体是这样子的               简单介绍一下:就是通过查询出正在上机的学生,可以通过勾选前面的checkbox,选中该行,然后可以进行部分下机和全部下机。如...
  • kwy15732621629
  • kwy15732621629
  • 2016年07月26日 14:41
  • 6850

WPF中DataGrid中的DataGridCheckBoxColumn用法(全选,全否,反选)

check datagrid wpf
  • qq_31971935
  • qq_31971935
  • 2015年11月02日 10:59
  • 3408

easyui datagrid checkbox初始化某几行disabled时,点击全选还是可以选择 解决办法

$("#body_feetotal").datagrid({ method: "get", pagination: true, ...
  • QQ38397892
  • QQ38397892
  • 2015年05月15日 17:22
  • 10139

CListCtrl控件的标题栏添加checkbox

CListCtrl控件的标题栏添加checkbox CListCtrl控件添加checkbox很容易,直接设置CListCtrl的风格就可以了。但是在标题栏也添加checkbox,实现全选和全不...
  • JUST_DO_1122
  • JUST_DO_1122
  • 2016年08月15日 19:30
  • 2018

easyui中checkbox全选全不选的时不处理最后一行的实现

有这样一个需求, easyui加载datagrid后, 最后一行为统计行, 在进行全选全不选的时候会将统计行也一并选择, 这跟业务不相符, 琢磨了半天后终于找到了解决方案 1.首先记录下统计功能的实...
  • m0_37609579
  • m0_37609579
  • 2017年04月01日 09:57
  • 821

GridView控件中添加CheckBox控件,并且实现选择、全选和反选

一、如何在GridView中添加CheckBox控件?      1、添加一个GridView控件后,单击向右箭头,选择【编辑列】;      2、在弹出的【字段】窗口中,选择TemplateFiel...
  • u010276845
  • u010276845
  • 2013年10月19日 20:09
  • 1149
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在DataGrid页眉上添加全选的CheckBox控件
举报原因:
原因补充:

(最多只允许输入30个字)