web-dev-qa-db-ja.com

dataGridView checkBoxがチェックされているかどうかを確認する方法は?

プログラミングと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'のオペランドには適用できません。

11
Ruslan

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
         }
    }
}
33
İlker Elçora

値はオブジェクトタイプを返し、ブール値と比較できません。値をブールにキャストできます

if ((bool)row.Cells[1].Value == true)
{
    // what I want to do
}
4
user2509901
if (Convert.ToBoolean(row.Cells[1].EditedFormattedValue))
{
    //Is Checked
}
0
user1098964

わずかな修正が機能するはずです

if (row.Cells[1].Value == (row.Cells[1].Value=true))
{
    // what I want to do
}
0
Armagan Derman