DataGridView - DataGridViewCheckBoxCell的使用介绍_.Net教程
推荐:asp.net中javascript的引用(直接引入和间接引入)Asp.net 中引入Javascript 的方法有很多。在做牛腩的时候主要讲了两种。 个人认为可以分为直接引入,和间接引入。 一、直接引入 。在前台页面调用自定义的javascript 函数: 1、打开前台页面在 head 元素之间加入 script 元素,将 type 元素设置为 text/javascript 。然
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))
{
}
}
分享:三层+存储过程实现分页示例代码前台设计: 复制代码 代码如下: %@ Page Language=C# AutoEventWireup=true CodeBehind=paging.aspx.cs Inherits=五二一练习.paging % !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd html xm
- 相关链接:
- 教程说明:
.Net教程-DataGridView - DataGridViewCheckBoxCell的使用介绍。