刷新

2013-10-14 50 views
2

時如果我刷新我的datagridview的一些數據,我的DataGridView閃爍,我失去選定單元格隨機文本閃爍我的重點。刷新

爲什麼會發生這種情況?在其他應用程序中,我沒有看到這個問題,所以我可以解決這個問題,但是如何?

我這段代碼刷新數據:

SBind.DataSource = DTable; // SBind is binded my grid.DataSource = SBind 
SBind.ResetBindings(false); 

回答

6

試試這個:

SBind.SuspendLayout(); 
SBind.DataSource = DTable; 
SBind.ResetBindings(false); 
SBind.ResumeLayout(true); 

您也可以嘗試啓用網格的DoubleBuffered這樣的:

typeof(Control).GetProperty("DoubleBuffered", BindingFlags.NonPublic | BindingFlags.Instance) 
       .SetValue(SBind, true, null); 
+0

是的,它的工作,但我可以做什麼與損失選定的行? –

+1

@ Greag.Deay只保存一些標識(以標識選定的行),然後在刷新網格之後,找到該行並將其標記爲選中狀態。無論如何,我不知道你爲什麼需要這樣刷新網格。 –