zoukankan      html  css  js  c++  java
  • DEV控件中GridView中的复选框与CheckBox实现联动的全选功能

    最初的界面图如图1-1(全选框ID: cb_checkall  DEV控件名称:gcCon ):

    要实现的功能如下图(1-2  1-3  1-4)及代码所示:

    图1-2

    图1-3

    图1-4

    O(∩_∩)O哈哈~

    不要着急哦,看清要实现的功能后我们来上代码啦!!

     1     //全局变量 0:表格中的数据没有全部选中 1:表格中的数据全部选中
     2     public int iCheckAll=0;
     3     private void repositoryItemCheckEdit1_CheckedChanged(object sender, EventArgs e)
     4         {
     5             CheckEdit chkCheck = (sender as CheckEdit);
     6             DataRow dr = gridView1.GetFocusedDataRow();
     7             if (chkCheck.CheckState == CheckState.Checked)
     8             {
     9                 dr["IS_CHECK"] = "1";
    10             }
    11             else
    12             {
    13                 dr["IS_CHECK"] = "0";
    14 
    15             }
    16 
    17             //增加全部选择时,全选按钮应该勾选上
    18             DataTable dt = gcCon.DataSource as DataTable;
    19            
    20             //判断如果GridView中按钮都全选了,把全选按钮也设置为选中状态 
    21             DataRow[] drTemp = dt.Select("IS_CHECK=0 OR IS_CHECK IS NULL");
    22             if (drTemp.Length > 0)
    23             {
    24                 //没有全部选中
    25                 iCheckAll = 0;
    26                 cb_checkall.CheckState = CheckState.Unchecked;
    27             }
    28             else
    29             {
    30                 iCheckAll = 1;
    31                 cb_checkall.CheckState = CheckState.Checked;
    32             }
    33            
    34         
    35 
    36         }
    表格中复选框的CheckedChanged事件
     1   private void cb_checkall_CheckedChanged(object sender, EventArgs e)
     2         {
     3 
     4             DataTable dt = gcCon.DataSource as DataTable;
     5          
     6             //优化 增加判断dt为null的条件
     7             if (dt != null)
     8             {
     9                 if (cb_checkall.Checked == true)
    10                 {
    11                     foreach (DataRow item in dt.Rows)
    12                     {
    13                         item["IS_CHECK"] = "1";
    14                     }
    15                     iCheckAll = 1;
    16                 }
    17                 else
    18                 {
    19                     if (iCheckAll == 0)
    20                     {
    21                        //表格中的数据没有全部选中时  设置全选框的的状态为FALSE  (觉得这个条件可以不要,可以试下哦O(∩_∩)O哈哈~)
    22                         DataRow[] drMM = dt.Select("IS_CHECK=0 OR IS_CHECK IS NULL");
    23                         if (drMM.Length > 0)
    24                         {
    25                             cb_checkall.Checked = false;
    26                         }
    27                     }
    28                     else if (iCheckAll==1)
    29                     {
    30                        
    31                          //表格中的数据是全选中状态时,取消全选时,设置表格中的标识为不选中的状态
    32                         foreach (DataRow item in dt.Rows)
    33                         {
    34                             item["IS_CHECK"] = "0";
    35                         }
    36                     }
    37                   
    38                   
    39                 }
    40 
    41             }
    42             else
    43             {
    44                 //判断条件
    45                 MessageBox.Show("没有可供选择的数据", "提示!");
    46                 cb_checkall.Checked = false;
    47             }
    48 
    49         }
    全选框的CheckedChanged事件
  • 相关阅读:
    XmlTextWriter学习笔记(转载)
    linux shell数据重定向(输入重定向与输出重定向)详细分析
    手机信息查看
    学员信息管理系统
    DOM4j 学习笔记
    Spinner 学习笔记
    java 网络编程学习笔记
    Oracle数据库远程连接方式之:不需要安装客户端软件方法!
    SQL 基础语法(创建表空间、用户、并授予权限、数据的增删改查) (学习笔记)
    北大青鸟第一单元项目 (小说管理系统)
  • 原文地址:https://www.cnblogs.com/mengzhixingping/p/4463109.html
Copyright © 2011-2022 走看看