2014-11-04 68 views
0

我使用此代码检查所有的复选框在VB.NET(2010 - .NET Framework 4.0)数据网格视图当选择该行的一个(没有检查,DataGridView列中的复选框有时没有被检查?

Dim i As Integer 
For i = 0 To (DataGridView.Rows.Count - 1) 
    DataGridView.Rows(i).Cells(0).Value = True 
Next 

有时只是整个在此代码正在运行时,它将检查列中除选定列之外的所有其他复选框。这里有什么问题?

我也尝试添加该代码,

DataGridView.SelectedCells(0).Cells(0).Value = True 

没有工作。

+0

我有这个问题。单元格的值在数据源中更改,但单元格未在GUI上检查。如果你点击它,它会更改为检查。我通常会将所选单元格设置为空,即取消选择。 – Kat 2014-11-04 14:36:22

+0

一个好主意。你知道任何可以自动取消选择该行的代码吗? – 2014-11-04 17:54:46

回答

1

就像我在评论中所说的那样,问题是在数据源中选中了该框,但GUI没有刷新该单元格以反映它。如果单击它,单元格应该更改/刷新到您的新值。在完成数据更改后,最后应取消选择单元格/行。你可以做到这一点:

Datagridview.ClearSelection() 

Datagridview.CurrentCell = Nothing 'deselects 

你的想法。这是我过去的工作。

+0

这个措辞,'Datagridview.CurrentCell = Nothing'。 – 2014-11-06 02:05:02