Flux 是我的 datagridview 中的一列。它需要以科学的指数格式显示。目前我在 sqlite 数据库中将它作为一个数字。
dataGridView1.Columns["Flux"].DefaultCellStyle.Format = "E2";
dataGridView1.Columns["Flux"].DefaultCellStyle.NullValue = null;
dataGridView1.Columns["Fluence"].DefaultCellStyle.Format = "E2";
dataGridView1.Columns["Fluence"].DefaultCellStyle.NullValue = null;
当我尝试验证单元格时(仅允许数字)。
if (Colname == "Neutron Flux")
{
double res1;
if(!double.TryParse(dataGridView1["Neutron Flux", e.RowIndex].Value.ToString(),out res1))
{
e.Cancel = true;
}
}
如果将单元格值从 2E+000 更改为 's',则这是无效输入,因此 e.cancel = true。double.TryParse(dataGridView1["Neutron Flux", e.RowIndex] 取原始值 2E 而不是 's'。所以 if 条件结果为真。弹出相同的数据错误
感谢你