2011-11-18 65 views
0

我有這樣的代碼,我手動值加載了我的DataGridView:DataGridViewCheckBox不立即顯示正確的值。這是一個錯誤?

void LoadRulesFromTemplate() 
    { 
     if (dgv.Columns.Count == 0) return; 
     foreach (var r in _template.Rules.GetList()) 
     { 
      var i = dgv.Rows.Add(); 
      dgv.Rows[i].Cells["Source"].Value = r.SourceFieldName; 
      dgv.Rows[i].Cells["Destination"].Value = r.DestFieldName; 
      dgv.Rows[i].Cells["Key"].Value = r.Key; 
      dgv.Rows[i].Cells["Aggregate"].Value = r.Aggregate; 
     } 
    } 

有一個加載現有文件按鈕,並在這一過程中這是獲取運行代碼的最後一塊。 DataGridView用於在這一點上完美刷新,但後來我添加了一個DataGridViewcheckBoxColumn。除了焦點開始的第一行以外,它完全更新該列。但是,當你點擊任何其他單元格時,它會突然修復它自己。

這是一個錯誤還是我錯過了什麼?

回答

1

只是一個猜測,但嘗試設置選擇爲NULL加載後的數據:

dgv.CurrentCell = null; 

我不知道爲什麼會這樣,但如果是隻與第一排,這通常被選中,這可能有幫助。

+0

謝謝!這肯定比我的第一個解決方案更好,它將選定的行移動到另一行,然後返回到第一個行。 –

相關問題