1
我有一個Windows窗體DataGridView。我使用下面的代碼填充和更新,都非常簡單,並且全部都是在UI線程上完成的。Odd DataGridView垂直滾動行爲
由於一些奇怪的原因,有時垂直滾動條的大小(我設置爲僅在需要時纔可見)並不反映可用的行數。如果我一直向下滾動,我仍然看不到最後一排。我可以通過使用下箭頭鍵選擇下面的行(並將它們放入視圖中)來判斷。
這可能是什麼原因。我需要某種開始日期或SuspendLayout什麼?該控件通過interop在MFC應用程序中嵌入。
Andy的想法如何找出這個問題?這是一個已知的錯誤? Google似乎並不這麼認爲。
這是我使用的代碼。
添加或插入一個行:
int newRowIndex = insertAt;
if (insertAt < 0 || insertAt > this.dataGridView.Rows.Count)
{
newRowIndex = this.dataGridView.Rows.Add();
}
else
{
this.dataGridView.Rows.Insert(insertAt, 1);
}
移除一行:
this.dataGridView.Rows.Remove(index);
結算:
this.dataGridView.Rows.Clear();
更新一行:
this.dataGrid[0, rowIndex].Value = someString;
this.dataGrid[1, rowIndex].Value = someBool;
this.dataGrid[2, rowIndex].Value = someInt;