0

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 条件结果为真。弹出相同的数据错误

感谢你

4

0 回答 0