在DataGridView手动添加了CheckBox列;在窗体Show的时候,遇到一个错误:错误如下:

DataGridView中发生一下异常:System.FormatException:单元格的Formatted值的类型错误.要替换此默认对话框,请处理DataError事件.

点击以后有一对话框错误如下:

DataGridView中发生一下异常:

SystemArgumentException:为DataGridViewCheckBoxCell提供的值的类型错误.

在System.Windows.Forms.DataGridViewCheckBoxCell.set_EditiingCellFormattedValue(Object value)

在System.Windows.Forms.DataGridView.InitializeEditingCellValue (DataGridViewCessStyle&dataGridViewCellStyle,DataGridViewCell&dataGridViewCell)

要替换此默认对话框,请处理DataError事件.

我之前曾经用过CheckBox列,此次和之前的区别是 AllowUserToAddRows=true;我将该属性设置为false,错误没有出现,可以确定该错误与系统自动添加的行及checBox的默认值为null有关。

我在DefaultValuesNeeded事件中增加了默认值,发现错误依旧。

仔细研究发现如下两种解决方法:

其一:在CellFormatting事件中处理

{

if (this.dataGridView1.Columns[e.ColumnIndex].Name == "AZK")               {                   if (e.Value == null)                       e.Value = false;               }

}

其二:在在CellFormatting事件中不处理,但DataError事件中处理

{               if (dataGridView1.Rows[e.RowIndex].IsNewRow)                   return;           }

Note: DataGridView中几个事件发生的顺序记录如下,以备查寻

在AllowUserToAddRows=true时候的事件发生次序

Form.Show ---> CellFormatting (如果出错,goto DataError),注意这里的NewRow没有触发DefaultValuesNeeded事件。

如果发生其他比如 RowEnter事件

(DefaultValuesNeeded) ---> RowEnter ---> CellClick

(DefaultValuesNeeded) ---> RowsAdded ---> UserAddedRow

DefaultValuesNeeded事件不会发生在 IsNewRow=true的row上

C# winform单元格的formatted值的类型错误 DataGridView中CheckBox列运行时候System.FormatException异常的更多相关文章

  1. 关于datagridview中checkbox列在选中行的情况下无法操作值

    这几天做项目的时候碰到了个小问题,在datagridview中实现对checkbox列的全选和反选功能.代码如下              //全选              if (dataGrid ...

  2. Cxgrid获取选中行列,排序规则,当前正在编辑的单元格内的值

    Delphi Cxgrid获取选中行列,排序规则,当前正在编辑的单元格内的值 cxGrid1DBTableView1.Controller.FocusedRowIndex 当前行号 cxGrid1DB ...

  3. Excel 2003 中如何用VBA 代码访问单元格里的值及操作单元格 - 唐诗宋词的专栏 - 博客频道 - CSDN.NET

    在Excel 中编写VBA 代码,最常做的事可能就是操作表单中单元格里的数据. 我这里总结一下如何从VBA 代码中操作单元格的数据. 在VBA 代码中操作单元格需要用到Range 对象,Range 是 ...

  4. Winform 中DataGridView的checkbox列,当修改checkbox状态时实时获得其状态值

    不知道大家有没有这样的经验,当点击或者取消datagridview的checkbox列时,比较难获得其状态是选中还是未选中,进而不好进行其它操作,下面就列出它的解决办法: 主要用到了DataGridV ...

  5. 关于PHPExcel上传Excel单元格富文本和时间类型读取数据问题

    当用PHPExcel做Excel上传文件读取数据时,print_r出来的数据,竟然发现其中有几个单元格返回的是PHPExcel富文本对象,而且时间类型的单元格返回的是一个不是时间戳的五位数.就像下图那 ...

  6. .Net 导出Excel时设置单元格的格式为文本类型

    <td style= 'vnd.ms-excel.numberformat:@ ' align='right'>" & Format(Val(rowTitle.Item( ...

  7. Winform开发 如何为dataGridView 添加CheckBox列,并获取选中行

    //添加CheckBox列 DataGridViewCheckBoxColumn columncb = new DataGridViewCheckBoxColumn(); columncb.Heade ...

  8. 双击 ajax修改单元格里的值

    最终效果 列表页面表格里双击排序修改其值 按钮样式要引入bootstrap才可以用 本文件用的是laravel框架环境 larave路由里 Route::get('category/changesta ...

  9. Jquery遍历table并拿到每个单元格里的值

    $('#table_id tr').each(function(i){ alert(i); if(i!=0){ //td内的文本 var v0 = $(this).children('td').eq( ...

随机推荐

  1. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)错误几种解决方案

    报错信息: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.study.ser ...

  2. 常见Java问题二

    1.什么是B/S架构?什么是C/S架构? B/S browser/server Web应用程序 C/S Client/Server 桌面应用程序 2.String str="www" ...

  3. 集合框架二(Collection接口实现类常用遍历方法)

    四种常用遍历方式 Collection coll = new ArrayList(); coll.add("123"); coll.add("456"); co ...

  4. if语句格式及流程

    if语句是条件判断功能 1. if 条件: if语句块 执行流程:判断条件是否为真. 如果真. 执行if语句块 2. if 条件: if语句块 else: else语句块 执行流程:判断条件是否为真. ...

  5. git使用相关记录

    上传github操作记录:https://blog.csdn.net/pql925/article/details/72772660 git提交仓库相关:https://blog.csdn.net/M ...

  6. [基础知识]在PeopleSoft中SMTP设置不生效如何查找问题

    在PeopleSoft中如果配置了工作流邮件或者标准页面的通知,都是可以发送出邮件的,这些邮件都是由SMTP服务器发送.SMTP需要在APP服务器和PRCS服务器中配置. 如果无法从PeopleSof ...

  7. ActiveReports 报表应用教程 (11)---交互式报表之文档目录

    通过文档目录,用户可以非常清晰的查看报表数据结构,并能方便地跳转到指定的章节,最终还可以将报表导出为PDF等格式的文件.本文以2012年各月产品销售分类汇总报表为例,演示如何在葡萄城ActiveRep ...

  8. Expo大作战(十)--expo中的App Icon,expo中的Assets,expo中的ErrorHandling错误处理

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  9. JavaScript函数节流(throttle)与函数去抖(debounce)

    对于浏览器窗口大小改变的时候,来动态改变页面元素的大小,可以采用window的resize事件,实现代码: <script type="text/javascript"> ...

  10. pytest+allure+jenkins +python2.7

    pip install lxml==3.8.0 pip install pytest-allure-adaptor