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自带的设置,找到了解决办法. 解决办 ...
随机推荐
- wf(六)
前面我们都是通过WorkflowInvoker这个类来调用方法的,这种方式是很简单的,因为这是同步的而且同样的调用者调用工作流使用的线程是一样的. 另外一个调用工作流的方法是通过工作流应用程序类(Wo ...
- The Same Game-POJ1027模拟
The Same Game Time Limit: 1000MS Memory Limit: 10000K Description The game named "Same" is ...
- sqoop的使用
1.sqoop的安装 1.1 与hadoop和hive的集成,修改/opt/cdh/sqoop-1.4.5-cdh5.3.6/conf/sqoop-env.sh 文件
- 上传图片shell绕过过滤的几种方法
一般网站图片上传功能都对文件进行过滤,防止webshelll写入.但不同的程序对过滤也不一样,如何突破过滤继续上传? 本文总结了七种方法,可以突破! 1.文件头+GIF89a法.(php)//这个很好 ...
- 微信小程序-WebSocket
wx.connectSocket(OBJECT) 创建一个 WebSocket 连接:一个微信小程序同时只能有一个 WebSocket 连接,如果当前已存在一个 WebSocket 连接,会自动关闭该 ...
- 合并文件夹里多个excel
Sub 合并当前目录下所有工作簿的全部工作表() Dim MyPath, MyName, AWbName Dim Wb As workbook, WbN As String Dim G As Long ...
- RabbitMQ 基础概念
Broker:消息协商器.消息队列的实体,它在TCP/IP等端口上监听AMQ消息 vHost:虚拟主机.功能上类似于web的虚拟主机,都是把数据按照功能或项目的不同划分为不同的虚拟主机:用户只被授予访 ...
- rabbitmq 3.6 延时消息
rabbitmq-plugins enable rabbitmq_delayed_message_exchange #安装插件 https://github.com/rabbitmq/rabbitmq ...
- Javascript学习笔记:3种定义函数的方式
①使用函数声明语法定义函数 function sum(num1,num2){ return num1+num2; } ②使用函数表达式定义函数 var sum=function(num1,num2){ ...
- Openstack+Kubernetes+Docker微服务实践之路--服务发布
结合上文,我们的服务已经可以正常运行了,但它的访问方式只能通过服务器IP加上端口来访问,如何通过域名的方式来访问到我们服务,本来想使用Kubernetes的Ingress来做,折腾一天感觉比较麻烦,I ...