我有一个带复选框列的DataGridView.我正在尝试创建一个选择/取消选择所有按钮.更改值的代码很容易,但性能非常糟糕.
for (int i = 0; i < dgv.RowCount; i++) { dgv.Rows[i].Cells["Selected"].Value = _selectAll; }
_selectAll只是一个toggle bool变量.在性能快速的情况下,有更好的方法吗?我也试过改变底层DataTable中的值.几百行仍然需要几秒钟,但大多数工作将在数千行上完成.
编辑&解决方案(2011/10/4)
主要问题在于DGV属性.一旦我设定,
dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
性能显着提高(每MSDN DataGridView Performance).
在此编辑中建议的解决方案也会略微提高性能.