DataGridViewCheckBoxColumn dtCheck = new DataGridViewCheckBoxColumn();
dtCheck.DataPropertyName = "check";
dtCheck.HeaderText = "";
dataGridView1.Columns.Add(dtCheck);
dataGridView1.DataSource = DataTable;

以上代码 是在DataGridView中添加复选框

  private void chkBox_CheckedChanged(object sender, EventArgs e)
{
if (this.chkBox.Checked == true)
{
for (int i = ; i < dataGridView1.Rows.Count; i++)
{
this.dataGridView1.Rows[i].Cells[].Value = true;
}
}
else
{
for (int i = ; i < dataGridView1.Rows.Count; i++)
{
this.dataGridView1.Rows[i].Cells[].Value = false;
}
} // this.dataGridView1.Rows[i].Cells[0].Value =false; }

以上是一个CheckBox 单击事件 用作于 全选/反选

 DataTable dt = (DataTable)dataGridView1.DataSource;
//使用方法
foreach(DataRow row in dt.Rows)
{
if (row["check"].ToString() == "True")
{
//处理方式
}
}

以上是后台代码操作过程 被选中的CheckBox 自己想怎么处理就怎么写

注:如果需要使复选框不能多选时,将DataGridView 的CellValueChanged事件和CurrentCellDirtyStateChanged事件

 private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
DataGridView dgv = (DataGridView)sender;
if (dgv.IsCurrentCellDirty)
{
dgv.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
}
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == )
{
DataGridView dgv = (DataGridView)sender;
DataTable dt = (DataTable)dgv.DataSource;
DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)dgv.Rows[e.RowIndex].Cells[];
bool value = (Boolean)checkCell.Value;
for (int i = ; i < dt.Rows.Count; i++)
{
DataRow row = dt.Rows[i];
if (i != e.RowIndex && value)
{
row["check"] = false;
}
}
dgv.Invalidate();
}
}

========================================================================================================

dataGridView1中复选框批量选中

1、dataGridView1.SelectionMode = 'FullRowSelect ' // dataGridView1 可以选中整行

2、添加一个contextMenuStrip1 控件    //右键菜单

 选择 的name = 'SelectToolStripMenuItem'

3、dataGridView1添加CellMouseDown事件 代码如下

   private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
if (e.RowIndex >= )
{
//若行已是选中状态就不再进行设置
if (dataGridView1.Rows[e.RowIndex].Selected == false)
{
dataGridView1.ClearSelection();
dataGridView1.Rows[e.RowIndex].Selected = true;
}
//只选中一行时设置活动单元格
if (dataGridView1.SelectedRows.Count == )
{
dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
}
//弹出操作菜单
contextMenuStrip1.Show(MousePosition.X, MousePosition.Y);
}
}
}

4、添加SelectToolStripMenuItem的Click 事件 代码如下

  private void SelectToolStripMenuItem_Click(object sender, EventArgs e)
{
foreach (var item in this.dataGridView1.SelectedRows)
{
int i = ((System.Windows.Forms.DataGridViewBand)((DataGridViewRow)item)).Index; this.dataGridView1.Rows[i].Cells[].Value = true; }
}

这样 我们就完成批量选中复选框的功能了

DataGridView 复选框 操作大全的更多相关文章

  1. python之tkinter使用-复选框操作

    # tkinter复选框操作 import tkinter as tk root = tk.Tk() root.title('问卷调查') root.geometry('220x80') # 设置窗口 ...

  2. C#:复选框操作类

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...

  3. JS及Dom练习 | 模态对话框及复选框操作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. seleniumu 3.0复选框操作(定位一组元素)

    一般验证复选框是否可以选择点击常用到定位一组元素去循环遍历执行点击事件.但是有时候在不同的浏览器下可能会存在差异化的最终结果. 目前谷歌浏览器常常存在多次点击同一复选框,导致最终最后两项复选框均未被勾 ...

  5. 【jQuery】对于复选框操作的attr与prop

    这个是在jQuery1.6版本号之后出现的鬼东西.受影响的主要有下拉列表select与复选框checkbox.众所周知.在jQuery中能够用attr()取出节点的属性,然而对于checkbox却不是 ...

  6. python selenium单/复选框操作

    一.单选:radio 1.首先是定位选择框的位置 2.定位id,点击图标就可以了,代码如下(获取url地址方法:把上面源码粘贴到文本保存为.html后缀后用浏览器打开,在浏览器url地址栏复制出地址就 ...

  7. jQuery——复选框操作

    学习jQuer对表单.表格操作的过程中,按照书上的例子发现一个问题: <!DOCTYPE html> <html> <head> <title>复选框应 ...

  8. DataGridView复选框实现全选功能,并取被选中的某行某列的值(三)

    目标: 一.选中全选这个复选框,会选中第一列所有的复选框 拉过来一个CheckBox控件(CheckBox1)覆盖在第一列的标题上,文本值:全选 方法:双击上面拉的CheckBox控件,进入其事件 p ...

  9. selenium之复选框操作

    HTML源码: <!DOCTYPE html> <div lang="en"></div></div> <head> & ...

随机推荐

  1. python3 mock

    mock的官网学习备忘录:官网地址https://docs.python.org/3/library/unittest.mock.html#quick-guide 1,安装 python3 unitt ...

  2. js 操作字典

    有时候我们进行ajax请求的时候,列表并不满足我们需求,有时候需要 key :value形式. 如果还按照python的定义: var data={}; data[tag_id][tag_ch_id] ...

  3. iis7中session丢失的解决方法小结

    这篇文章主要介绍了在windows server 2008系统中,session丢失的解决方法,供大家学习参考 问题描述: Windows Server 2008 +IIS +ASP.net +SQL ...

  4. (转)sqlmap用户手册

    原文地址:http://drops.wooyun.org/papers/143 http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 当给sqlma ...

  5. SharePoint中跨列表查询

    1,最近的项目中遇到一个需求,站点中有几十个列表,其中每5,6个列表属于一个模块下的.客户的需求是,首页上显示一个模块下所有列表数据的前5条,并按创建时间排序. 2,刚刚考虑到这块的实现方法时,用的是 ...

  6. js动态生成水印

    原理:通过动态生成canvas然后转为base64格式 代码Demo export const waterMark = (text) =>{ let _wm = document.createE ...

  7. #leetcode刷题之路42-接雨水

    给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水.上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 ...

  8. 第一篇 深入嵌入式之Linux裸机

    { 个人心得: 嵌入式底层重要的是在CPU(各种架构)或SOC基础上,利用u-boot初始化系统,并启动OS,建立实时多任务环境.文件系统等,再根据功能要求设计上层程序:而对硬件的需有足够掌握. } ...

  9. ZooKeeper实现分布式队列Queue

    ZooKeeper实现分布式队列Queue 让Hadoop跑在云端系列文章,介绍了如何整合虚拟化和Hadoop,让Hadoop集群跑在VPS虚拟主机上,通过云向用户提供存储和计算的服务. 现在硬件越来 ...

  10. 2017-2018-1 20155209 实现mypwd

    2017-2018-1 20155209 实现mypwd 1 学习pwd命令 2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3 实现mypwd 4 测试mypwd 首先使用 ...