none
データグリッドビューのCellValidatingについて RRS feed

  • 質問

  • データグリッドビューのセルに""が入力されたい場合、置換えて'0'を入力させたいのですが。

    以下のコードではだめそうです。良い方法をご教授くださいませ。

     private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
            {
                DataGridView dgv = (DataGridView)sender;

                //数量
                if (dgv.Columns[e.ColumnIndex].Name == "quantity" && e.FormattedValue.ToString().Trim() == string.Empty)
                {
                    //検討中(エラー発生)
                    dgv["quantity", e.ColumnIndex].Value = 0m;
                }
            }

    テキストボックスのvalidatingのようにできるかと思いできませんでした。
    CellValidatingでなくCellvalidatedでやるしかないでしょうか。
    宜しくお願いします。

    2020年9月23日 1:40

回答

  • 自己解決しました。CellParsingは初めて見ました。ありがとうございました。

     private void dataGridView1_CellParsing(object sender, DataGridViewCellParsingEventArgs e)

            {
                //数量
                if (dgv.Columns[e.ColumnIndex].Name == "contractdetailscontentquantity" && (e.Value == DBNull.Value || e.Value.ToString().Trim() == string.Empty))
                {
                    e.Value = 0m;
                    e.ParsingApplied = true;
                }
            }

    • 回答としてマーク SU_Twin 2020年9月23日 2:48
    2020年9月23日 2:47

すべての返信