0

Flux は私のデータグリッドビューの列です。科学指数形式で表示する必要があります。現在、私はそれを 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] は、's' ではなく元の値 2E を取ります。そのため、if 条件が真であることが判明します。同じデータ エラーがポップアップします。

ありがとう

4

0 に答える 0