DEV控件中GridView中的复选框与CheckBox实现联动的全选功能
最初的界面图如图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实现联动的全选功能的更多相关文章
- js做全选,用一个checkbox复选框做多个checkbox复选框的全选按钮,有一个复选框未被选择时,全选按钮的checked就为false
用一个checkbox复选框做多个checkbox复选框的全选按钮,有一个复选框未被选择时,全选按钮的checked就为false,当所有checkbox都被选中时,全选按钮也被选中. 详解: 有两种 ...
- checkebox 全选 ,子复选框单个全部选择后,全选框也会被选择
<script> //点击全选,子复选框被选中 function demo(){ var allcheck=document.getElementById("allcheck&q ...
- 使用js获取checkbox控件在GridView中的第几行
这次的知识点是如何使用js获取checkbox控件所在的是第几行!!! 我们可以使用 JavaScript 中自带的 rowIndex 和 cellIndex 来获取行和列的键值 (从0开始) 这两个 ...
- DEV控件的Gridview小技巧总结
1.设置Gridview控件的某列不可编辑 this.gridData.gridView1.Columns["change_date"].OptionsColumn.AllowEd ...
- Dev控件学习-GridControl中的BandGridview导出多层行头操作
BandGridview默认导出的是Columns的列头信息,而不是Bands的列头信息,为了实现导出多层行头.代码如下 public static void ExportExcel2(DevExpr ...
- DEV控件的Gridview1
DEV控件的Gridview小技巧总结 1.设置Gridview控件的某列不可编辑 this.gridData.gridView1.Columns["change_date"].O ...
- GridView控件RowDataBound事件中获取列字段值的几种途径
前台: <asp:TemplateField HeaderText="充值总额|账号余额"> <ItemTemplate> <asp:Label ID ...
- C#中DEV控件,XtraTabPage得小方法
DEV控件设计窗体程序,XtraTabPage用到的小方法,欢迎大家评论,分享技术! //DEV中的选项卡 private bool TabCtlPageExist(string pageName) ...
- VS中Dev控件在工具箱里的不见的解决办法
出现问题:调整了VS中Dev控件后(以免生成程序每次都要在客户机上面注册dev),之前安装的DEV控件在vs工具箱中消失了,重装可以解决,但是太费时间了,检测dev自带的设置,找到了解决办法. 解决办 ...
随机推荐
- ubuntu下安装JDK并搭建activeMQ
1.安装JDK,网上有人说activeMQ支持持JDK1.7及以上版本,未实际测试,保险起见我这里直接安装JDK1.7. #apt-get install openjdk--jdk 2.设置环境变量 ...
- 基于Clang的Source to Source源代码转换(一)
Clang中包含了非常多的关于抽象语法树(AST)的访问和操作的类和接口.我们程序开发人员可以直接通过继承其中的某些类,重写其中的关键成员方法,从而形成我们自己的对抽象语法树的操作. 那么,首先我们简 ...
- 使用cocoaPods和遇到的问题以及解决办法
上一篇说到cocoaPods的安装,本篇就来说说cocoaPods的使用和遇到一些问题的解决办法( ⊙ o ⊙ ) 一.cocoaPods的创建使用 1.cd进入所在的项目目录 2.创建Podfile ...
- 关于xmpp协议发送消息,登录认证SSL报错的问题
Q:错误描述如下 Traceback(most recent call last): File"/tails-share/features/scripts/otr-bot.py", ...
- android appwigt
package com.example.test1; import android.os.Bundle; import android.app.Activity; import android.con ...
- IOS的H5页面滑动不流畅的问题:
IOS的H5页面滑动不流畅的问题: -webkit-overflow-scrolling : touch; 需要滑动的是哪块区域,就在哪里加上这段代码就OK
- JAVA微信支付多次回调方法解决方案
@WebServlet("/ActionServlet")public class PayWxOrderingReqCBS extends HttpServlet { public ...
- 1019: [SHOI2008]汉诺塔
1019: [SHOI2008]汉诺塔 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 1495 Solved: 916[Submit][Status] ...
- PL/SQL通过免安装客户端连接远端ORACLE数据库
参考百度经验:http://jingyan.baidu.com/article/375c8e19b4094d25f2a2291a.html
- Lambda表达式遍历集合
1.Collection Java 8 为Iterable接口新增了一个forEach(Consumer action)默认方法,该方法所需参数的类型是一个函数式接口,而Iterable接口是Coll ...