3

データグリッドビューの DataGridViewCheckboxColumn のすべての行をプログラムでチェック解除するにはどうすればよいですか?

を使用してチェックボックスの正しい値を取得できます

(bool)row.Cells[CheckBoxColumn.Index].FormattedValue

しかし、それは単なるゲッターです。

を使用してセルの値を設定しようとしました

(bool)row.Cells[CheckBoxColumn.Index].value = false

ただし、それは FormattedValue には影響しません。

どうすればこれを解決できますか?

4

9 に答える 9

2

あなたはそうします。お気に入り:

(row.Cells[CheckBoxColumn.Index] as DataGridViewCheckBoxCell).value = false;

正しい型にキャストするのを忘れただけです。ジェネリックDataGridViewCellはその値の型を知りません。

于 2011-01-18T15:41:39.013 に答える
1

チェックボックス列の最初のコントロールをチェックボックスにキャストしてから、「Checked」をtrueに設定してみましたか?

この程度のものを試してみてください。

((DataGridViewCheckBoxCell)e.Rows[0].Cells[0]).Selected = true
于 2011-01-18T14:46:15.840 に答える
0

チェックしていませんが、試すことができます。

CheckBox cb = (row.Cells[CheckBoxColumn.Index].Controls[0] as CheckBox);
if(cb != null)
{
    cb.Checked = false;
}

タイプが異なる場合があります。デバッグして、それが何であるかにキャストするだけです。

于 2011-01-18T15:13:29.647 に答える
0

「false」を実行するためだけにdataGridView1_ContextClickを使用する場合、datagidviewCheckBox列には次のコードが必要です。

dataGridView1.CancelEdit();

ただし、 DataGrid の CheckBoxColumns のすべての行が必要な場合:

private void button1_Click(object sender, EventArgs e)
{
    foreach (DataGridViewRow r in dataGridView1.Rows)
    {
        r.Cells["statusBox"].Value = true;
    }
}
于 2016-03-05T16:45:52.093 に答える
0
foreach (DataGridViewRow dr in dataGridView1.Rows)
{
  dr.Cells[0].Value = true;//sıfırın
}
于 2012-01-17T08:09:25.990 に答える
-1
 foreach (DataGridViewRow row in datagridviewname.Rows)

  {
    row.Cells[CheckBoxColumn1_Name].Value = false;
  }
于 2013-07-12T11:01:20.330 に答える
-1

グリッド ビューの各行をループし、find コントロール メソッドを使用します。

foreach ( GridViewRow row in myGridView )
{
     CheckBox checkBox = ( CheckBox ) row.FindControl( "myCheckBox" );
     checkbox.Checked = false;
}
于 2011-01-18T15:19:12.057 に答える