2014-11-04 70 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