dgvDataSet.Rows[j].Cells[str_CellsName].ValueType=typeof(double);
//MessageBox.Show(dgvDataSet.Rows[j].Cells[str_CellsName].ValueType.ToString());
dgvDataSet.Rows[j].Cells[str_CellsName].Value = str_value;str_value的值类型除了double其他的类型DataGridView都可以接收
例如:
str_value=100.21就报错:100.21不是Int32的有效值
str_value=100可以通过我改变单元格类型也没用,最终会转成Int32
怎么解决

解决方案 »

  1.   


    DataGridViewCell s = dgvDataSet.Rows[j].Cells[str_CellsName];
    s.Value = "112.11";//这样编译不会有错,运行报错
    s.Value = "¥112.11";//这样编译不会有错,运行报错
    s.Value = "112_11";//这样编译不会有错,运行报错
    s.Value = "100";//这样编译通过,运行也通过
      

  2.   

    dgvDataSet.Rows[j].Cells[str_CellsName].ValueType=typeof(double);
    改为
    dgvDataSet.Rows[j].Cells[str_CellsName].ValueType=typeof(decimal);
    看一下
      

  3.   

    decimal也不行
    错误信息还是一样
      

  4.   

    我绑定的是CSV文件  是用sql语句从文件里查出来的