'Declaration
Sub BeginUpdate()
'Usage
Dim instance As IWorkbookSet instance.BeginUpdate()
void BeginUpdate()
procedure BeginUpdate();
function BeginUpdate();
void BeginUpdate();
void BeginUpdate();
'Declaration
Sub BeginUpdate()
'Usage
Dim instance As IWorkbookSet instance.BeginUpdate()
void BeginUpdate()
procedure BeginUpdate();
function BeginUpdate();
void BeginUpdate();
void BeginUpdate();
This method is thread safe.
Use BeginUpdate and EndUpdate when making a large number of changes to a workbook set which is attached to one or more Windows Forms components from SpreadsheetGear. Doing so will typically result in significant performance improvements when accessing the SpreadsheetGear API many times to change the workbooks in a workbook set. However, all events which would have been fired before EndUpdate is called will be lost, and all Windows Forms components from SpreadsheetGear which are attached to the workbook set will be completely repainted after EndUpdate is called.
An exception will be thrown if UnwindLock is called after a call to BeginUpdate and before a call to EndUpdate. Changing the workbook set associated with any Windows Forms component from SpreadsheetGear generates a call to UnwindLock, therefore the workbook set of a Windows Forms component cannot be changed when using BeginUpdate.
BeginUpdate essentially detaches a workbook set from any SpreadsheetGear Windows Forms components, temporarily making performance similar to using a workbook set with no attached user interface.
BeginUpdate calls GetLock to acquire a lock on the workbook set.
EndUpdate must be called for each call to BeginUpdate. The recommended best practice is to call BeginUpdate followed by a try block where work is done, and then call EndUpdate in a finally block.
void DoSomeThreadSafeWorkQuickly(IWorkbookSet workbookSet) { // Interrupt background calculation if necessary, acquire an // exclusive lock on the workbook set and suspend events and // painting. workbookSet.BeginUpdate(); try { // Do a lot of work... } finally { // Release the lock on the workbook set, start background // calculation if appropriate and repaint controls. workbookSet.EndUpdate(); } }
Sub DoSomeThreadSafeWorkQuickly(ByVal workbookSet As IWorkbookSet) ' Interrupt background calculation if necessary, acquire an ' exclusive lock on the workbook set and suspend events and ' painting. workbookSet.BeginUpdate() Try ' Do a lot of work... Finally ' Release the lock on the workbook set, start background ' calculation if appropriate and repaint controls. workbookSet.EndUpdate() End Try End Sub 'DoSomeThreadSafeWork
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2