我有一个DataGridView
控件,有两个方法:Filter()和ResetFilter()
当我过滤网格时,我将DataGridView
的行的BackColor更改为蓝色。
在ResetFilter上,我将每一行的BackColor重置为白色。
以下是我到目前为止的代码:
dgvMain.Rows.Cast<DataGridViewRow>().ToList
.ForEach(f => f.DefaultCellStyle.BackColor = Color.White);
大约需要40到50毫秒,
foreach (DataGridViewRow row in dgvMain.Rows)
{ row.DefaultCellStyle.BackColor = Color.White; }
需要大约30到40毫秒,这要快25%。
是否有一个更快的解决方案来改变所有行&#39;背景色?类似于dgvMain.RowsDefaultCellStyle.BackColor = Color.White
的东西,它不会迭代每一行?
答案 0 :(得分:0)
显然,迭代所有行并设置BackColor
是一个非常糟糕的主意。使用DataGridView
DefaultCellStyle
属性