1

データソースを使用する空のデータグリッドビューがいくつかありますが、BindingSource を介したリストです。AllowUserToAddRows = true であるため、最初は datagridview に空の行が 1 つあります。この行を選択してフォームを閉じると、datagridview は新しい空のオブジェクトを作成します。なぜそれをするのですか?これを防ぐ方法は?ありがとう。

空の行の選択: ここに画像の説明を入力 そして、私はこれを取得します: ここに画像の説明を入力

結論:解決策を見つけようと何度も試みた結果、datagridview と 2 つのボタン (行の追加と行の削除) を備えた UI コントロールを作成することにしました。この時点で、私は計画どおりにやろうとするのをやめましたが、それでも解決策を知りたいです.

4

5 に答える 5

8

イベントを処理RowValidatingして、行が空かどうかを確認できます。その場合、キャンセル イベントと行は追加されません。

if (gridView[0, e.RowIndex].Value == null)
    e.Cancel = true;
于 2012-11-12T13:21:01.657 に答える
2

などのRowCountイベント ハンドラでプロパティの値をインクリメントしていないことを確認することをお勧めします。RowLeaveCellLeave

例えば:

DataGridView1.RowCount += 1;
于 2012-11-12T13:51:42.103 に答える
0

FormClosing イベント ハンドラーで明示的な Clear DataSource を試してください。

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    dataGridView1.DataSource = null;
}

メモリ バインドに保持されると、この問題が発生する可能性があります。

于 2016-01-27T19:22:22.040 に答える