需要知道DataGridView中复选框单元格的状态

时间:2009-10-07 14:16:23

标签: datagridview checkbox

我有一个C#Windows应用程序,它使用带有三列的DataGridView。第一个是不需要验证的文本框。第二列和第三列都是复选框。我需要帮助确定是否检查了盒子。如果是,那么我想将复选框单元格的背景颜色设置为红色。我正在使用DataGridView1_CellContentClick事件。任何帮助或建议将不胜感激。

3 个答案:

答案 0 :(得分:0)

试试这个

void DataGridView1_CellValueChanged(object sender System.Windows.Forms.DataGridViewCellEventArgs e)
{
  if( (bool)DataGridView1.Rows[e.RowIndex].Cells[ e.ColumnIndex].Value )
             DataGridView1.Rows[e.RowIndex].Cells[ e.ColumnIndex].DefaultCellStyle.BackColor  = Color.Red;
}

答案 1 :(得分:0)

尝试以下方法:

    bool test=false;
         test=Convert.Toboolean(DataGridView1.Rows[0].cells[0].Value);
   // if test=true then
   // its checked and if no then its unchecked. 

答案 2 :(得分:-1)

Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
    Try
        If e.ColumnIndex = 8 Then
            Label1.Text = DataGridView1.Rows(e.RowIndex).Cells(0).Value
            FrmVisits.Show()

        ElseIf e.ColumnIndex = 9 Then
            Label1.Text = DataGridView1.Rows(e.RowIndex).Cells(0).Value
            FrmPEdit.Show()
        Else
            Exit Sub
        End If
    Catch ex As Exception
        Exit Sub
    End Try




End Sub