仅显示DataGridView中的复选框

时间:2014-11-04 14:46:08

标签: vb.net datagridview

我将SQL结果返回到DataGridView并遇到了问题。我的表单上有一个选项,只显示选中的值,但无法使其正常工作。这是我的代码:

    For x As Integer = dgvAutogrow.Rows.Count - 1 To dgvAutogrow.Rows.Count
        If dgvAutogrow.Rows(x).Cells("checked").Value = False Then
            dgvAutogrow.Rows.Remove(dgvAutogrow.Rows(x))
        End If
    Next

这是我的DataGridView的哪一部分。我希望发生一个事件,只显示选中复选框的值。

.netError

当我调试时,我收到以下错误:

.netError

有关改变内容的任何建议吗?

2 个答案:

答案 0 :(得分:2)

您必须将单元格强制转换为DataGridViewCheckBoxCell,然后像这样测试值:

For x As Integer = dgvAutogrow.Rows.Count - 1 To 0 Step -1    
    Dim cel as DataGridViewCheckBoxCell
    cel = CType(dgvAutogrow.Rows(x).Cells("YourColumnName"), DataGridViewCheckBoxCell)
    If cel.Value = False Then
        dgvAutogrow.Rows.Remove(dgvAutogrow.Rows(x))
    End If
Next

此外,您有一个ArgumentException,因为您指定的列不存在,您需要更改它。

答案 1 :(得分:0)

尝试并测试了代码。

你可以试试这个。我们需要将单元格转换为DataGridViewCheckBoxCell并更改循环...

  For x As Integer = dgvAutogrow.Rows.Count - 1 To 0 Step -1
        If CType(dgvAutogrow.Rows(x).Cells("checked"), DataGridViewCheckBoxCell).Value = False Then
            dgvAutogrow.Rows.Remove(dgvAutogrow.Rows(x))
        End If
  Next