在通常情况下,在几百条至上千条数据展示中,无论是同步加载还是异步加载,grid都将显示正常,即使对其进行一系列的格式化操作,以及对于字段的宽度进行重新的适配显示等,也不会造成很大的延迟。但是当数据量达到W级别之后,grid显示就会出现不同程度的卡顿。
考虑到大数据量下的数据查询延迟,造成界面的长时间等待,大数据量是时间等待的一个重要因素之一,于是把之前的grid同步加载机制改为异步加载。即把耗时的数据查询过程放在异步任务中,当异步任务完成 把查询出结果集赋予grid。
貌似问题应该可以迎刃而解,但是实际的验证过程中,却发现问题丝毫没有得到解决。细细分析之下,发现是BestFitColumns函数造成的,即根据加载后的结果集每一列的宽度进行重新的适配,当数据量小的时候 此函数所引起的过程并不会产生明显的耗时,但是当数据量浩大的时候 此过程将十分的漫长,进而造成系统的卡顿等待。
把此函数去除掉,列宽度适配改为最小宽度设置,问题解决