DataGridView中添加CheckBox控件主要采用两种方法
来源:互联网 发布:360不能卸载软件 编辑:程序博客网 时间:2024/06/03 03:22
DataGridView中添加CheckBox控件主要采用两种方法
1. 通过在DataGridView的Columns中添加System.Windows.Forms.DataGridViewCheckBoxColumn类型的列。并可以设置该列相关的属性信息。
2. 在程序代码中直接添加相应的代码
System.Windows.Forms.DataGridViewCheckBoxColumn Column1;
Column1 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
Column1.HeaderText = "Column1";
Column1.Name = "Column1";
Column1.ReadOnly = false;
...
this.dgvRet.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {Column1});
也可以采用this.dgvRet.Columns.Add(Column1);进行更灵活的列添加。
在DataGridView绑定数据源后,可以通过设置DataGridViewCheckBoxColumn的DataPropertyName来确定影响CheckBox显示的数据源的属性和详细列名(具体如何影响可以由TrueValue、FalseValue和IndeterminateValue来设置)。也可以让数据源与添加的CheckBox无关联,在DataGridView中显示为不同的列。
DataGridView 中CheckBox的常用处理方法。
1. 如何设置CheckBox的值。
this.dgvRet.Rows[i].Cells[j].Value = false;
直接设置在DataGridView第(i+1)行第(j+1)列中CheckBox的Value的值。若Value的值为true,CheckBox 被勾上,若Value的值为false,CheckBox 不勾上。
2. CheckBox是否勾上的事件处理方法。
需要注意的是:在DataGridView中添加DataGridViewCheckBoxColumn,CheckBox是占有整个Cell方框的。在c#中默认情况下,CheckBox是否被单击和是否勾上没有必然的联系。可能你在点击Cell方框后,CheckBox的Value(是否勾上)不会发生变化(点在Cell中空白处)。
这种情况,我一般将CheckBox的Value值通过程序进行控制。不依赖于Visual Studio 2005自动完成。具体处理步骤如下:
1. 将DataGridViewCheckBoxColumn的ReadOnly属性设置为true。
2. 添加DataGridView的CellClick方法。
private void dgvRet_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (this.dgvRet.CurrentCell.ColumnIndex == 0)
{
//获取DataGridView中CheckBox的Cell
DataGridViewCheckBoxCell dgvCheck = (DataGridViewCheckBoxCell)(this.dgvRet.Rows[this.dgvRet.CurrentCell.RowIndex].Cells[0]);
//获取被选中列的相关信息
Double dAdd = double.Parse(this.dgvRet.Rows[this.dgvRet.CurrentCell.RowIndex].Cells[5].Value.ToString());
...
//根据单击时,Cell的值进行处理。EditedFormattedValue和Value均可以
//若单击时,CheckBox没有被勾上
if (Convert.ToBoolean(dgvCheck.EditedFormattedValue) == false)
{
this.dTotal += dAdd;
...
//通过程序完成CheckBox是否勾上的控制
dgvCheck.Value = true;
}
//若单击时,CheckBox已经被勾上
else
{
this.dTotal -= dAdd;
...
//通过程序完成CheckBox是否勾上的控制
dgvCheck.Value = false;
}
this.txtTotal.Text = this.dTotal.ToString();
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/pinkey1987/archive/2010/01/29/5267934.aspx
- DataGridView中添加CheckBox控件主要采用两种方法
- DataGridView中添加CheckBox控件主…
- DataGridView列中添加CheckBox
- 在C/S架构中,给DataGridView的表头添加CheckBox控件
- DataGridView动态添加新行的两种方法
- DataGridView控件---绑定数据的两种方法
- DataGridView 添加checkBox
- DataGridView 添加checkbox
- DataGridView 添加checkbox
- DataGridView 添加checkbox
- DataGridView 添加checkbox
- DataGridView如何添加CheckBox?
- 给 winform datagridview 头部 添加 checkbox 全选控件
- datagridview checkbox控件
- datagridview 手动添加控件列方法(图)
- datagrid控件中添加checkbox控件列
- datagrid控件中添加checkbox控件列
- Winform中向DataGridView控件添加数据
- ABAP-使用cl_oo_class获取类信息
- 游戏分类和常用术语
- 20个非常有用的Java程序片段
- 常见JAVA基础面试题2
- d16 format on nv card
- DataGridView中添加CheckBox控件主要采用两种方法
- 在 Lotus Domino 8 上利用 OSGi 特性开发和部署插件程序
- c++编写xml操作类(完整版)
- 设置Exchange2007首次登录默认语言
- Spring 声明式事务的配置方式(六)
- 九、HttpServlet类 HttpServeltRequest类 HttpServletResponse类 HttpServletContext类
- Some functions about time
- JDBC连接MYSQL数据库
- 分割存储过程