DataGridView的DataGridViewCheckBoxColumn使用方法
来源:互联网 发布:牛头刨床机简图数据 编辑:程序博客网 时间:2024/05/18 08:48
下面介绍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"判断选中比较合适
- if (dgvDownloadList.Rows.Count > 0)
- {
- for (int i = 0; i < dgvDownloadList.Rows.Count; i++)
- {
- string _selectValue = dgvDownloadList.Rows[i].Cells["Column1"].EditedFormattedValue.ToString();
- if (_selectValue == "True")
- //如果CheckBox已选中,则在此处继续编写代码
- }
- }
DataGridViewCheckBoxColumn 设置CheckBox默认选中
((DataGridViewCheckBoxCell)dgvDownloadList.Rows[i].Cells["Column1"]).Value = true;
DataGridViewCheckBoxColumn 第一时间获取CheckBox的选中状态
当点击或者取消datagridview的checkbox列时,比较难获得其状态是选中还是未选中,进而不好进行其它操作,下面就列出它的解决办法:
CommitEdit :将当前单元格中的更改提交到数据缓存,但不结束编辑模式
- dgvDownloadList.CurrentCellDirtyStateChanged += new EventHandler(dgvDownloadList_CurrentCellDirtyStateChanged);
- dgvDownloadList.CellValueChanged += new DataGridViewCellEventHandler(dgvDownloadList_CellValueChanged);
- void dgvDownloadList_CurrentCellDirtyStateChanged(object sender, EventArgs e)
- {
- if (dgvDownloadList.IsCurrentCellDirty)
- {
- dgvDownloadList.CommitEdit(DataGridViewDataErrorContexts.Commit);
- }
- }
- void dgvDownloadList_CellValueChanged(object sender, DataGridViewCellEventArgs e)
- {
- if (dgvDownloadList.Rows.Count > 0)
- {
- for (int i = 0; i < dgvDownloadList.Rows.Count; i++)
- {
- string _selectValue = dgvDownloadList.Rows[i].Cells["Column1"].EditedFormattedValue.ToString();
- if (_selectValue == "True")
- //如果CheckBox已选中,则在此处继续编写代码
- }
- }
- }
if (dgv.Rows[i].Cells[0].FormattedValue.ToString() == "False")
{
MessageBox.Show(i.ToString());
}
if (dgv.Rows[i].Cells[0].EditedFormattedValue.ToString() == "False")
{
MessageBox.Show(i.ToString());
}
试一下,我测试没问题的。
- DataGridView的DataGridViewCheckBoxColumn使用方法
- C# Winform中DataGridView的DataGridViewCheckBoxColumn使用方法
- C# Winform中DataGridView的DataGridViewCheckBoxColumn使用方法
- C# Winform中DataGridView的DataGridViewCheckBoxColumn使用方法_可以举一反三
- 在DataGridView中获得DataGridViewCheckBoxColumn的状态
- DataGridView 的 DataGridViewCheckBoxColumn使用简单说明
- 在DataGridView中获得DataGridViewCheckBoxColumn的状态
- c# DataGridView 中对 DataGridViewCheckBoxColumn 的操作
- dataGridView 的columnType设为DataGridViewCheckBoxColumn,当选择其他列进行排序时,DataGridViewCheckBoxColumn列值被还原
- C# Winform中DataGridView的DataGridViewCheckBoxColumn CheckBox是否选中
- 全选DataGridView中的DataGridViewCheckBoxColumn选项
- DataGridView中的DataGridViewCheckBoxColumn的值,在选择后,再次点击无法取消的问题
- DataGridView DataGridViewCheckBoxColumn编辑时实时触发事件
- DataGridView DataGridViewCheckBoxColumn编辑时实时触发事件
- DataGridView DataGridViewCheckBoxColumn编辑时实时触发事件
- 取 DataGridViewCheckBoxColumn 的值
- 获得DataGridViewCheckBoxColumn的状态
- 获得DataGridViewCheckBoxColumn的状态
- JAVA 之 Date常用方法
- 微信之父张小龙:产品之上的世界观
- seekg()/seekp()与tellg()/tellp()的用法详解 .
- sql 行转列、列转行写法 面试用
- C/C++中的序点
- DataGridView的DataGridViewCheckBoxColumn使用方法
- VC unicode编程
- Invoke()/BeginInvoke()的区别
- Apache Lucene 3.x推荐教程
- Linux常用命令大全
- 原生态ajax使用
- App_Structure
- Win2003系统上IIS发布无法访问flv格式文件
- 配置java环境变量