C# Winform中DataGridView的DataGridViewCheckBoxColumn CheckBox是否选中

转载 2016年08月30日 13:15:54

转载至:http://www.cnblogs.com/xucan/archive/2010/12/05/1897025.html

下面介绍Winform中DataGridView的DataGridViewCheckBoxColumn使用方法:

 第一部分:DataGridViewCheckBoxColumn CheckBox是否选中

  在判断DataGridView中CheckBox选中列的时候,用DataGridViewRow.Cells[0].FormattedValue.ToString()=="True"语句时存在问题,当我们直接点击CheckBox时,结果显示未选中,但是如果我们在点击其他单元格时,结果显示选中。而用DataGridViewRow.Cells[0].EditedFormattedValue.ToString()=="True"语句时不管怎么样是选中的状态。

为什么会有这种结果?

  原因:就是FormattedValue是操作提交后的结果,而EditedFormattedValue是当前的结果,不管结果是否已经提交。

     所以用DataGridViewRow.Cells[0].EditedFormattedValue.ToString()=="True"判断选中比较合适 

复制代码
1 if (dgvDownloadList.Rows.Count > 0)
2 {
3    for (int i = 0; i < dgvDownloadList.Rows.Count; i++)
4    {
5        string _selectValue = dgvDownloadList.Rows[i].Cells["Column1"].EditedFormattedValue.ToString();
6        if (_selectValue == "True")
7           //如果CheckBox已选中,则在此处继续编写代码
8     }
9 
复制代码

 

DataGridViewCheckBoxColumn 设置CheckBox默认选中

   ((DataGridViewCheckBoxCell)dgvDownloadList.Rows[i].Cells["Column1"]).Value = true;

 

DataGridViewCheckBoxColumn 第一时间获取CheckBox的选中状态

  当点击或者取消datagridview的checkbox列时,比较难获得其状态是选中还是未选中,进而不好进行其它操作,下面就列出它的解决办法: 

  CommitEdit :将当前单元格中的更改提交到数据缓存,但不结束编辑模式  

复制代码
 1 dgvDownloadList.CurrentCellDirtyStateChanged += new EventHandler(dgvDownloadList_CurrentCellDirtyStateChanged);
 2 dgvDownloadList.CellValueChanged += new DataGridViewCellEventHandler(dgvDownloadList_CellValueChanged);
 3  
 4 void dgvDownloadList_CurrentCellDirtyStateChanged(object sender, EventArgs e)
 5 {
 6     if (dgvDownloadList.IsCurrentCellDirty)
 7     {
 8         dgvDownloadList.CommitEdit(DataGridViewDataErrorContexts.Commit);
 9     }            
10 }
11  
12 void dgvDownloadList_CellValueChanged(object sender, DataGridViewCellEventArgs e)
13 {
14     if (dgvDownloadList.Rows.Count > 0)
15     {
16         for (int i = 0; i < dgvDownloadList.Rows.Count; i++)
17         {
18             string _selectValue = dgvDownloadList.Rows[i].Cells["Column1"].EditedFormattedValue.ToString();
19             if (_selectValue == "True")
20                 //如果CheckBox已选中,则在此处继续编写代码
21         }
22      }
23 }

相关文章推荐

C# WinForm 实现DataGridView中DataGridViewCheckBoxCell的变通单一勾选

默认情况下 DataGridViewCheckBoxColumn 是可以多选的某些情况下 我们需要利用CheckBox的可勾选及取消勾选的属性来提供给用户选择项 同时需要勾选某项后 其他行的就取消勾选...

Winform中 DataGridView添加 CheckBox列的问题集锦

DataGridView中的DataGridViewCheckBoxColumn是很难控制的,当 DataGridView 未绑定到数据时,对单元格的编辑会在用户移到另一个单元格时被交        ...

C# 对 DataGridViewCheckBoxColumn 操作时选中行状态更新问题

新手在学习对 DataGridViewCheckBoxColumn 操作时,会出现选中行状态没有及时更新的问题(没有打勾)! 当要保存修改过后的内容,必须将光标指向另外一行, DataGridVie...

如何判断DataGridViewCheckBoxCell被选中

假设DataGridView为dgv 1、判断DataGridViewCheckBoxCell是否被选中   DataGridViewCheckBoxCell chkcell = dgv[1,0]...
  • WnLn25
  • WnLn25
  • 2011-12-14 15:12
  • 5508

C# winfrom 中datagridview中checkbox的使用方法

方法一:  private void dgv_zy_CellContentClick(object sender, DataGridViewCellEventArgs e)  {        ...

C# Winform中DataGridView的DataGridViewCheckBoxColumn使用方法

下面介绍Winform中DataGridView的DataGridViewCheckBoxColumn使用方法: DataGridViewCheckBoxColumn CheckBox是否选中   ...

winform 中 给DataGridView的表头添加CheckBox

在C/S架构中,给DataGridView的表头添加CheckBox控件:        添加类:/// /// 给DataGridView添加全选 /// public cla...
  • netgyc
  • netgyc
  • 2010-05-11 14:36
  • 6044

c# DataGridView 中对 DataGridViewCheckBoxColumn 的操作

如上图所示完成功能:在DataGridView中根据对“选择”的读取,来读取“工单号”,在根据“工单号”来获取工单类,从而进行批量分派。 1.       用到了datagridview的Curre...

DataGridView中添加CheckBox控件主要采用两种方法

DataGridView中添加CheckBox控件主要采用两种方法1.  通过在DataGridView的Columns中添加System.Windows.Forms.DataGridViewChec...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)