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 条件が真であることが判明します。同じデータ エラーがポップアップします。
ありがとう