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

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

图1-2

图1-3

图1-4

O(∩_∩)O哈哈~

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

     //全局变量 0:表格中的数据没有全部选中 1:表格中的数据全部选中
public int iCheckAll=;
private void repositoryItemCheckEdit1_CheckedChanged(object sender, EventArgs e)
{
CheckEdit chkCheck = (sender as CheckEdit);
DataRow dr = gridView1.GetFocusedDataRow();
if (chkCheck.CheckState == CheckState.Checked)
{
dr["IS_CHECK"] = "";
}
else
{
dr["IS_CHECK"] = ""; } //增加全部选择时,全选按钮应该勾选上
DataTable dt = gcCon.DataSource as DataTable; //判断如果GridView中按钮都全选了,把全选按钮也设置为选中状态
DataRow[] drTemp = dt.Select("IS_CHECK=0 OR IS_CHECK IS NULL");
if (drTemp.Length > )
{
//没有全部选中
iCheckAll = ;
cb_checkall.CheckState = CheckState.Unchecked;
}
else
{
iCheckAll = ;
cb_checkall.CheckState = CheckState.Checked;
} }

表格中复选框的CheckedChanged事件

   private void cb_checkall_CheckedChanged(object sender, EventArgs e)
{ DataTable dt = gcCon.DataSource as DataTable; //优化 增加判断dt为null的条件
if (dt != null)
{
if (cb_checkall.Checked == true)
{
foreach (DataRow item in dt.Rows)
{
item["IS_CHECK"] = "";
}
iCheckAll = ;
}
else
{
if (iCheckAll == )
{
//表格中的数据没有全部选中时 设置全选框的的状态为FALSE (觉得这个条件可以不要,可以试下哦O(∩_∩)O哈哈~)
DataRow[] drMM = dt.Select("IS_CHECK=0 OR IS_CHECK IS NULL");
if (drMM.Length > )
{
cb_checkall.Checked = false;
}
}
else if (iCheckAll==)
{ //表格中的数据是全选中状态时,取消全选时,设置表格中的标识为不选中的状态
foreach (DataRow item in dt.Rows)
{
item["IS_CHECK"] = "";
}
} } }
else
{
//判断条件
MessageBox.Show("没有可供选择的数据", "提示!");
cb_checkall.Checked = false;
} }

全选框的CheckedChanged事件

DEV控件中GridView中的复选框与CheckBox实现联动的全选功能的更多相关文章

  1. js做全选,用一个checkbox复选框做多个checkbox复选框的全选按钮,有一个复选框未被选择时,全选按钮的checked就为false

    用一个checkbox复选框做多个checkbox复选框的全选按钮,有一个复选框未被选择时,全选按钮的checked就为false,当所有checkbox都被选中时,全选按钮也被选中. 详解: 有两种 ...

  2. checkebox 全选 ,子复选框单个全部选择后,全选框也会被选择

    <script> //点击全选,子复选框被选中 function demo(){ var allcheck=document.getElementById("allcheck&q ...

  3. 使用js获取checkbox控件在GridView中的第几行

    这次的知识点是如何使用js获取checkbox控件所在的是第几行!!! 我们可以使用 JavaScript 中自带的 rowIndex 和 cellIndex 来获取行和列的键值 (从0开始) 这两个 ...

  4. DEV控件的Gridview小技巧总结

    1.设置Gridview控件的某列不可编辑 this.gridData.gridView1.Columns["change_date"].OptionsColumn.AllowEd ...

  5. Dev控件学习-GridControl中的BandGridview导出多层行头操作

    BandGridview默认导出的是Columns的列头信息,而不是Bands的列头信息,为了实现导出多层行头.代码如下 public static void ExportExcel2(DevExpr ...

  6. DEV控件的Gridview1

    DEV控件的Gridview小技巧总结 1.设置Gridview控件的某列不可编辑 this.gridData.gridView1.Columns["change_date"].O ...

  7. GridView控件RowDataBound事件中获取列字段值的几种途径

    前台: <asp:TemplateField HeaderText="充值总额|账号余额"> <ItemTemplate> <asp:Label ID ...

  8. C#中DEV控件,XtraTabPage得小方法

    DEV控件设计窗体程序,XtraTabPage用到的小方法,欢迎大家评论,分享技术! //DEV中的选项卡 private bool TabCtlPageExist(string pageName) ...

  9. VS中Dev控件在工具箱里的不见的解决办法

    出现问题:调整了VS中Dev控件后(以免生成程序每次都要在客户机上面注册dev),之前安装的DEV控件在vs工具箱中消失了,重装可以解决,但是太费时间了,检测dev自带的设置,找到了解决办法. 解决办 ...

随机推荐

  1. ubuntu下安装JDK并搭建activeMQ

    1.安装JDK,网上有人说activeMQ支持持JDK1.7及以上版本,未实际测试,保险起见我这里直接安装JDK1.7. #apt-get install openjdk--jdk 2.设置环境变量 ...

  2. 基于Clang的Source to Source源代码转换(一)

    Clang中包含了非常多的关于抽象语法树(AST)的访问和操作的类和接口.我们程序开发人员可以直接通过继承其中的某些类,重写其中的关键成员方法,从而形成我们自己的对抽象语法树的操作. 那么,首先我们简 ...

  3. 使用cocoaPods和遇到的问题以及解决办法

    上一篇说到cocoaPods的安装,本篇就来说说cocoaPods的使用和遇到一些问题的解决办法( ⊙ o ⊙ ) 一.cocoaPods的创建使用 1.cd进入所在的项目目录 2.创建Podfile ...

  4. 关于xmpp协议发送消息,登录认证SSL报错的问题

    Q:错误描述如下 Traceback(most recent call last): File"/tails-share/features/scripts/otr-bot.py", ...

  5. android appwigt

    package com.example.test1; import android.os.Bundle; import android.app.Activity; import android.con ...

  6. IOS的H5页面滑动不流畅的问题:

    IOS的H5页面滑动不流畅的问题: -webkit-overflow-scrolling : touch; 需要滑动的是哪块区域,就在哪里加上这段代码就OK

  7. JAVA微信支付多次回调方法解决方案

    @WebServlet("/ActionServlet")public class PayWxOrderingReqCBS extends HttpServlet { public ...

  8. 1019: [SHOI2008]汉诺塔

    1019: [SHOI2008]汉诺塔 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1495  Solved: 916[Submit][Status] ...

  9. PL/SQL通过免安装客户端连接远端ORACLE数据库

    参考百度经验:http://jingyan.baidu.com/article/375c8e19b4094d25f2a2291a.html

  10. Lambda表达式遍历集合

    1.Collection Java 8 为Iterable接口新增了一个forEach(Consumer action)默认方法,该方法所需参数的类型是一个函数式接口,而Iterable接口是Coll ...