Han*_*int 7 c# datagridview winforms
我有一个带复选框列的DataGridView.我正在尝试创建一个选择/取消选择所有按钮.更改值的代码很容易,但性能很可怕.
for (int i = 0; i < dgv.RowCount; i++)
{
dgv.Rows[i].Cells["Selected"].Value = _selectAll;
}
Run Code Online (Sandbox Code Playgroud)
_selectAll只是一个toggle bool变量.在性能快速的情况下,有更好的方法吗?我也试过更改底层DataTable中的值.几百行仍然需要几秒钟,但大多数工作将在数千行上完成.
编辑与解决方案(2011/10/4)
主要问题在于DGV属性.一旦我设定,
dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
Run Code Online (Sandbox Code Playgroud)
性能得到显着提升(根据MSDN DataGridView性能).在此编辑中建议的解决方案也会略微提高性能.
小智 6
非常感谢,通过设置AutoSizeColumnsMode属性
dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
Run Code Online (Sandbox Code Playgroud)
性能要好得多......
| 归档时间: |
|
| 查看次数: |
11170 次 |
| 最近记录: |