由于项目需要显示大量数据,所以只能用虚拟表,本人本人绘制了Cell实现了折叠功能,但是在收起折叠时发现速度很慢,做了个测试,下面是全部代码
public partial class Form2:Form { public Form2() { InitializeComponent(); this.dataGridView1.VirtualMode=true; } private void button1_Click(object sender,EventArgs e) { if(this.dataGridView1.RowCount<100) { this.dataGridView1.RowCount=10000; } else { this.dataGridView1.RowCount=10;//这一句耗时4秒钟 } } }
当行数从多变少时会卡几秒钟,什么原因引起的?怎么破?
解决方案
50
应该是Render导致的,原因是你行数变更后需要重新渲染,这方面本人不是专家,不发表议论
50
可以试试用线程托管来操作