我将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的哪一部分。我希望发生一个事件,只显示选中复选框的值。
当我调试时,我收到以下错误:
有关改变内容的任何建议吗?
答案 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