我正在使用WinForms DataGridView顯示不同數量的數據。當使用大量數據時,我注意到AutoSizing所有單元格會導致不可接受的延遲,直到DataGridView響應爲止(從幾秒到幾分鐘)。將DataGridViewAutoSizeRowsMode屬性設置爲DisplayedCells而不是AllCells修復了這個問題(3分鐘 - > 5秒)。Datagridview在使用DataGridViewAutoSizeRowsMode.DisplayedCells時無法正確滾動到底部行
但是現在我遇到了自動滾動到DGV內容底部的問題。 我試圖通過設置dgv.FirstDisplayedScrollingRowIndex = dgv.RowCount - 1;
以前工作得很好,但現在它只是滾動到最後一行之一,我不得不手動單擊向下滾動按鈕幾次,直到它實際顯示最後一行。拖動滾動條到底部感覺非常不順手,需要一些拖動才能到達最後一行。
我看別的地方有關該行的dgvAnalysis.CurrentCell
設置爲一個單元,也試圖在DGV的滾動事件處理
private void dgv_Scroll(object sender, ScrollEventArgs e)
{
if (e.ScrollOrientation == ScrollOrientation.VerticalScroll)
{
dgv.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
dgv.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells;
}
}
以下但既不似乎幫助。似乎dgv.FirstDisplayedScrollingRowIndex沒有設置爲我給出的值,無論出於何種原因。
有沒有人有一個想法如何解決這個問題,或者我可能在那裏做錯了什麼?
謝謝,但這並沒有幫助我解決我的問題。調整大小基本上沒有問題,只是它不會滾動到底部,因爲'FirstDisplayedScrollingRowIndex'未設置爲RowCount,而是低於此值。 –