我有一个虚拟的datagridview,我想设置不同的行高。我希望找到一种方法来一次设置所有的行高,而不是一次循环遍历每一行。设置DataGridView快速行高
这是我试图设置高度的方法,但性能是可怕的〜每1000行1秒。对我而言,平均行数是〜20k-30k行,所以这是不可接受的。
public void PopulateData()
{
this.SuspendLayout();
this.RowCount = Data.RowCount;
for (int i = 0; i < Data.RowCount; i++)
{
this.Rows[i].Height = Data.RowHeights[i];
}
this.ResumeLayout();
}
我一定还会首先关闭自动调整大小,但性能仍然很差。
this.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None;
this.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
有没有办法在行高度的阵列,以通过或阻止OnRowHeightChanged
调整大小行时被调用?
问题在于滚动条的大小不正确。 – ChandlerPelhams
我不这么认为。我已经在我的项目中尝试过。 –
直到在每一行上调用行预涂方法,网格仍然会认为这些行都是默认的行模板高度。只有用户滚动浏览所有行时,才会设置正确的高度,并正确滚动网格。 – ChandlerPelhams