加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – DataGridView复选框列“全选”性能

发布时间:2020-12-15 07:40:17 所属栏目:百科 来源:网络整理
导读:我有一个带复选框列的DataGridView.我正在尝试创建一个选择/取消选择所有按钮.更改值的代码很容易,但性能非常糟糕. for (int i = 0; i dgv.RowCount; i++){ dgv.Rows[i].Cells["Selected"].Value = _selectAll;} _selectAll只是一个toggle bool变量.在性能快
我有一个带复选框列的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).
在此编辑中建议的解决方案也会略微提高性能.

解决方法

非常感谢,通过设置AutoSizeColumnsMode属性
dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;

性能要好得多……

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读