17

私はプログラミングとC#言語が初めてです。行き詰まりました、助けてください。だから私はこのコードを書きました(c#Visual Studio 2012):

private void button2_Click(object sender, EventArgs e)
{
    foreach (DataGridViewRow row in dataGridView1.Rows)
    {
         if (row.Cells[1].Value == true)
         {
              // what I want to do
         }
    }
}

そのため、次のエラーが表示されます。

演算子 '==' は、タイプ 'object' および 'bool' のオペランドには適用できません。

4

6 に答える 6

38

Convert.ToBoolean()dataGridView checkBox がチェックされているかどうかを確認するために使用する必要があります。

private void button2_Click(object sender, EventArgs e)
{
    foreach (DataGridViewRow row in dataGridView1.Rows)
    {
         if (Convert.ToBoolean(row.Cells[1].Value))
         {
              // what you want to do
         }
    }
}
于 2014-03-25T13:14:41.667 に答える
6

ここでの回答はすべてエラーが発生しやすく、

この質問に出くわした人々のために物事を明確にするために、

OP が望むものを達成するための最良の方法は、次のコードを使用することです。

foreach (DataGridViewRow row in dataGridView1.Rows)
{
    DataGridViewCheckBoxCell cell = row.Cells[0] as DataGridViewCheckBoxCell; 

    //We don't want a null exception!
    if (cell.Value != null)
    {
        if (cell.Value == cell.TrueValue)
        {
           //It's checked!
        }  
    }              
}
于 2016-03-09T14:15:57.627 に答える