虚拟模式也就相当于自动分页,将大量数据分次读取,不用一次性全部装入表格,如果数据量大的话,速度可以得到明显的提升,尤其是spread本身装数据就比datagrid等慢。
在设计器中直接打开比较方便,一般情况下,我将Virtual Max,Max Virtual Rows,Rows Per Read三个参数分别设1000000,100,20。
设置完成后,记的一定不用再使用spread.datarowcnt来提取最大行,因为我习惯于使用 spread.maxrow=spread.datarowcnt来删除多余的行。但开启virtual mode后,这个值取出来总是0。
然后如果用代码来开启,可以这样














在使用过程中,我发现如果将virtualmaxrows手工设成一个值后,再改回-1时总是保存不住,不知道算不算一个BUG。而1000000是缺省值,应该等同于-1。
还有一个问题,如果打开了特殊的滚动条后,一定不要打开home和end两个按钮,反正在我用的时候,一但按完end,再按home键,机子立刻死翘翘。事实上,如果有上千条记录,也不可能去来回翻看,滚动条也是可有可无的东西了。