由于项目需要显示大量数据,所以只能用虚拟表,本人本人绘制了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
可以试试用线程托管来操作