Previous topicNext topic
Help > 开发指南 > 预备知识 >
禁用刷新提高性能

我们在大批量的插入、修改数据的时候,如果不停地去实时更新表界面,会非常影响性能,如果我们可以像下面那样关闭掉窗体、表的刷新的话,就可以极大地提高程序的运行效率。如果不影响数据生成的话,关闭表的事件效果也会更好。

Vb.Net
'锁定指定窗口刷新
Proj.LockMainFormUpdate(Proj.MainForm.Handle)
Dim tbl As SmGrid = Proj.CurrentSmGrid
'停止指定表刷新
tbl.StopRedraw()
'停止表事件刷新,这个可能会影响部分基于事件而运行的代码执行逻辑,这个得看情况使用
tbl.DataTableHelp.BlockEvents = True

Try
    '这里写复杂的数据处理
Catch ex As Exception
    UnhandledExceptionManager.ShowAndSaveLog(ex)
Finally
    '恢复表刷新
    tbl.ResumeRedraw()
    '恢复表事件刷新
    tbl.DataTableHelp.BlockEvents = False
    '恢复窗体刷新
    Proj.UnlockMainFormUpdate()
End Try

C#
//锁定指定窗口刷新
Proj.LockMainFormUpdate(Proj.MainForm.Handle);
SmGrid tbl=Proj.CurrentSmGrid;
//停止指定表刷新
tbl.StopRedraw();
//停止表事件刷新,这个可能会影响部分基于事件而运行的代码执行逻辑,这个得看情况使用
tbl.DataTableHelp.BlockEvents=true;
try
{
    //这里写复杂的数据处理
    
}
catch (Exception ex)
{
    UnhandledExceptionManager.ShowAndSaveLog(ex);
}
finally
{
    //恢复表刷新
    tbl.ResumeRedraw();
    //恢复表事件刷新
    tbl.DataTableHelp.BlockEvents=false;
    //恢复窗体刷新
    Proj.UnlockMainFormUpdate();
}