当前位置: 移动技术网 > IT编程>开发语言>.net > DataGridView - DataGridViewCheckBoxCell的使用介绍

DataGridView - DataGridViewCheckBoxCell的使用介绍

2017年12月12日  | 移动技术网IT编程  | 我要评论

网购电脑配件,runningman下载,李芳远

datagridview是.net中最复杂的控件,由于人们对表格的格式要求多种多样,所以编写一个通用的datagridview(类似jsf中的datatable)非常困难的。

datagridview中,用户可以对行、列、单元格进行编程。如行中可以插入下拉列表、复选框、编辑框、单选框等多种控件。每种控件都以datagridview开头。如:单选框类为datagridviewcheckboxcell。

datagridviewcheckboxcell有一些恶心的属性折磨了我很久,下加以详细说明。

formattedvalue属性:

可能大家已经习惯了用checked=true或者checked=false这样直观的语句来取得checkbox的值,但datagridviewcheckboxcell没有checked属性,而使用了更复杂的formattedvalue。

editedformattedvalue属性:

当前checkbox的状态,不管它是不是已经是一个“确认值”。在我们在印象里,checkbox只有true或false。什么叫“确认值”呢?确认值是指:不管用户是不是已经离开该单元格(即确认该单元格最终的状态),都返回checkbox目前的值。乍一听,更糊涂了。举个例子加以解释:

(1) 初始时checkbox未选中,用户点了一下,于是checkbox会呈现勾选状态
这时,editedformattedvalue=true,但formattedvalue=false,这是因为,用户没有“确认”这个值,这个checkbox仍然处于编辑状态;

(2) 初始时checkbox选中,用户点了一下,于是checkbox会呈现未勾选状态,然后用户点击其它单元格

这时,editedformattedvalue=false,但formattedvalue=false,这是因为,用户离开这个单元格意味着用户已经“确认”这个值,这个checkbox不再处于编辑状态,它的editedformattedvalue==formattedvalue

这时,editedformattedvalue=false,但formattedvalue=false,这是因为,用户离开这个单元格意味着用户已经“确认”这个值,这个checkbox不再处于编辑状态,它的editedformattedvalue==formattedvalue
复制代码 代码如下:

for (int i = 0; i < datagridview1.rows.count; i++)
{
datagridviewcheckboxcell chkboxcell = (datagridviewcheckboxcell)datagridview1.rows[i].cells[column_id.index];

if (chkboxcell != null && ((bool)chkboxcell.editingcellformattedvalue == true || (bool)chkboxcell.formattedvalue == true))
{

}
}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网