失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > DEV控件中GridView中的复选框与CheckBox实现联动的全选功能

DEV控件中GridView中的复选框与CheckBox实现联动的全选功能

时间:2022-11-11 09:45:31

相关推荐

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:表格中的数据全部选中 2public int iCheckAll=0; 3private 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 else12 {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 else29 {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 {13item["IS_CHECK"] = "1";14 }15 iCheckAll = 1;16 }17 else18 {19 if (iCheckAll == 0)20 {21 //表格中的数据没有全部选中时 设置全选框的的状态为FALSE (觉得这个条件可以不要,可以试下哦O(∩_∩)O哈哈~)22DataRow[] drMM = dt.Select("IS_CHECK=0 OR IS_CHECK IS NULL");23if (drMM.Length > 0)24{25 cb_checkall.Checked = false;26}27 }28 else if (iCheckAll==1)29 {30 31//表格中的数据是全选中状态时,取消全选时,设置表格中的标识为不选中的状态32foreach (DataRow item in dt.Rows)33{34 item["IS_CHECK"] = "0";35}36 }37 38 39 }40 41 }42 else43 {44 //判断条件45 MessageBox.Show("没有可供选择的数据", "提示!");46 cb_checkall.Checked = false;47 }48 49 }

全选框的CheckedChanged事件

如果觉得《DEV控件中GridView中的复选框与CheckBox实现联动的全选功能》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。