DataGridView中添加CheckBox(与DataSource分开添加) & C# winform单元格的formatted值的类型错误异常解决
2021-03-17 02:25
标签:sel his 赋值 com format index default 相关 exce 2. Debag 显示窗体的时候,会报 “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事件.】 解决方式: 在DataGridView的DataError事件中添加下列语句即可解决: { if (dataGridView1.Rows[e.RowIndex].IsNewRow) return; } 相关知识: DataGridView中几个事件发生的顺序记录如下,以备查寻: 在AllowUserToAddRows=true时候的事件发生次序, Form.Show ---> CellFormattimng (如果出错,goto DataError),注意这里的NewRow没有触发DefaultValuesNeeded事件。 如果发生其他比如 RowEnter事件: (DefaultValuesNeeded) ---> RowEnter ---> CellClick (DefaultValuesNeeded) ---> RowsAdded ---> UserAddedRow DefaultValuesNeeded事件不会发生在 IsNewRow=true的row上。 *扩展 根据上述相关知识,也可以在Cell Formatting 事件中进行异常处理: if (this.dgvImport.Columns[e.ColumnIndex].Name == "select") 相关知识转载自—— https://blog.csdn.net/weixin_33699914/article/details/85776307 https://www.cnblogs.com/yelanggu/p/6972839.html DataGridView中添加CheckBox(与DataSource分开添加) & C# winform单元格的formatted值的类型错误异常解决 标签:sel his 赋值 com format index default 相关 exce 原文地址:https://www.cnblogs.com/Fancylearnhome/p/12407548.html1,编辑DataGridView,添加一列 CheckBox ,Name 赋值为 "select",ColumnType 设置为"dATAGridViewCheckBoxColumn",HeaderTest 可以设置为想要的列名,如下图:
{ if (e.Value == null)
{
e.Value = false;
}
}
文章标题:DataGridView中添加CheckBox(与DataSource分开添加) & C# winform单元格的formatted值的类型错误异常解决
文章链接:http://soscw.com/essay/65116.html