我正在尝试更新我在datagridview中的数据(基于用户设置的检查),而不会丢失选择(进行计算) . 这对我有用,但比清除完整的dgv慢很多,制作一个新的数据表并绑定它 .
这是我试过的:
-
当datagridview需要完全更新(不同的行数)时,我清除datagridview,创建一个新的数据表并绑定它 . 这很好用而且速度很快,但选择丢失了 . 选择丢失没问题,因为数据是全新的 .
-
有时我只需要更新datagridview中的值(我不想丢失选择) . 我试图直接更新绑定数据表(工作)中的值或datagridview中的值(这也有效) . 但是,两者都比使用第一种方法创建一个全新的datagridview慢得多:-(
-
更新datagridview时,我停止绘制放置它的面板
-
datagridview触发的所有事件都将被挂起
-
autoresize等已关闭
任何人都可以解释为什么更新cellvalues比重做整个事情要慢得多吗?
还有另一种方法可以做到而不会失去选择吗?我能记住选择并再次设置它,但后来我失去了选择的方式/命令单元格和列 .
1 回答
我终于找到了发生大延迟的地方 . 我完全专注于DataGridView,但它发现了绑定到它的DataTable中发生的延迟 .
为了快速做到:
[码]
[/码]