其实之前我自己是没测出这个问题的,但是一放到测试的手上就出来了,原因我知道在哪里改输什么东西,但是人家不知道啊。报错如下:
--------------------------- “DataGridView 默认错误”对话框 --------------------------- DataGridView 中发生以下异常: System.Exception: 是 不是 Decimal 的有效值。 ---> System.FormatException: 输入字符串的格式不正确。 在 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) 在 System.Number.ParseDecimal(String value, NumberStyles options, NumberFormatInfo numfmt) 在 System.ComponentModel.DecimalConverter.FromString(String value, NumberFormatInfo formatInfo) 在 System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value) --- 内部异常堆栈跟踪的结尾 --- 在 System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value) 在 System.ComponentModel.TypeConverter.ConvertFrom(Object value) 在 System.Windows.Forms.DataGridView.DataGridViewDataConnection.PushValue(Int32 boundColumnIndex, Int32 columnIndex, Int32 rowIndex, Object value) 要替换此默认对话框,请处理 DataError 事件。 --------------------------- 确定 ---------------------------
解决方法,注册一个DGV_DataError事件就可以。
private void DGV_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
//可以不执行代码哦
}