1

列インデックス 12 にチェックボックスを含む datagridview があります。ツールストリップには、これらのチェックされた行を繰り返して項目を削除する必要があるボタンがあります。

私が持っているコードは、セルがチェックされていることを検出していません (bChecked 変数は常に false)。デバッグ時の値は false です。

foreach (DataGridViewRow row in dataGridView1.Rows)
{
    DataGridViewCheckBoxCell oCell = row.Cells[12] as DataGridViewCheckBoxCell;
    bool bChecked = (null != oCell && null != oCell.Value && true == (bool)oCell.Value);

    if (bChecked == true)
    {
        //Do something
    }
}

何か案は?

ありがとう。

4

1 に答える 1

1

DataGridViewCheckBoxCell の CellValueChanged イベントを使用したほうがよいのではないでしょうか。このイベントは、checkboxcell の値が変更されるたびに発生します。

備考セクションのDataGridViewCell.Valueを参照してください。

イベントにサブスクライブすると、セルがチェックされているかどうかを確実に検出できます。

于 2013-03-15T15:38:06.760 に答える