StopRedraw

我们对表做的任何变动,例如编辑数据、增加行、删除行、调整行高列宽,都会导致Table重新绘制,以便显示变动后的结果。
如果要对DataTable连续地进行大量的操作,为了避免相关Table(表)不停地闪烁,可以先执行StopRedraw方法禁止绘制表,操作完成后再执行ResumeRedraw方法重新绘制表。
StopRedraw方法会禁止绘制所有基于该DataTable的Table,直到执行ResumeRedraw方法恢复绘制。

例如我们要在订单表中增加500行,代码如下:

With DataTables("订单")
    .StopRedraw
   
For i As Integer = 1 To 500
        .AddNew()
   
Next
    .ResumeRedraw

End
With

注意最后一定要记得执行ResumeRedraw方法,否则表格不会再刷新。

如果你将代码修改为:

With DataTables("订单")
   
For i As Integer = 1 To 500
        .AddNew()
   
Next
End
With

你可以看到代码执行过程中会不停地闪烁,而且执行速度也比之前慢很多。

StopRedraw和ResumeRedraw必须配对执行,如果执行了两次StopRedraw,那么对应的就必须执行两次ResumeRedraw,才会恢复绘制Table。

上面的代码只是用于演示,实际上增加500行最简单的代码是:

DataTables("订单").AddNew(500)


本页地址:http://www.foxtable.com/webhelp/topics/0401.htm