Version

SuspendCalc Method

Suspends calculations until ResumeCalc is called.
Syntax
'Declaration
 
Public Sub SuspendCalc() 
public void SuspendCalc()
Remarks

Calling SuspendCalc will temporarily suspend any automatic calculations performed by the UltraCalcManager until a subsequent call to ResumeCalc is made.

Note that the suspension refers to automatic calculations only. This means that calculations that would normally be performed on a timer when CalcFrequency is set to Asynchronous or on a change notification when the value of a control is dirtied when CalcFrequency is set to Synchronous will not be performed. Explicitly calling the ReCalc method or the Infragistics.Win.CalcEngine.IUltraCalcManager.EnsureCalculated(Infragistics.Win.CalcEngine.IUltraCalcReference,System.Boolean) method will still force a calculation.

Note also that each time SuspendCalc is called, a counter is incremented. So the same number of ResumeCalc calls must be made before calculations will resume.

Example
Demonstrates setting up references for 2 TextBoxes which wil represent the height and width of a rectangle. The area of the rectangle is then calculated in a NamedReference. When the calculations are completed, the area is displayed in a third textbox.

For an overview of how to handle events in Visual Basic or Visual C#, see Event Handlers in Visual Basic and Visual C#. For specific information and code examples illustrating how to consume events in your application, see Consuming Events in the .NET Framework Developer's Guide.

Imports Infragistics.CalcEngine
Imports Infragistics.Win.UltraWinCalcManager

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        'Suspend calculation while we are adding new items into the calc network
        Me.UltraCalcManager1.SuspendCalc()

        Dim calcSettings As CalcSettings

        'Set CalcSettings properties on TextBox1
        calcSettings = Me.UltraCalcManager1.GetCalcSettings(Me.textBox1)
        calcSettings.PropertyName = "Text"
        calcSettings.Alias = "Height"
        calcSettings.ErrorValue = 1

        'Set CalcSettings properties on TextBox2
        calcSettings = Me.UltraCalcManager1.GetCalcSettings(Me.textBox2)
        calcSettings.PropertyName = "Text"
        calcSettings.Alias = "Width"
        calcSettings.ErrorValue = 1

        'Create a NamedReference to calulate the area. 
        Dim namedReference As NamedReference
        namedReference = Me.UltraCalcManager1.NamedReferences.Add("Area", "[//Height] * [//Width]")
        namedReference.ErrorValue = "Error"

        'Everything is added, so resume
        Me.UltraCalcManager1.ResumeCalc()

    End Sub

    Private Sub UltraCalcManager1_CalculationsCompleted(ByVal sender As Object, ByVal e As System.EventArgs) Handles UltraCalcManager1.CalculationsCompleted
        If (Me.UltraCalcManager1.NamedReferences.Exists("Area")) Then
            Me.textBox3.Text = Me.UltraCalcManager1.NamedReferences("Area").FormulaResult.Value.ToString()
        End If
    End Sub
using Infragistics.CalcEngine;
using Infragistics.Win.UltraWinCalcManager;


	private void Form1_Load(object sender, System.EventArgs e)
		{
			//Suspend calculation while we are adding new items into the calc network
			this.ultraCalcManager1.SuspendCalc();

			CalcSettings calcSettings = null;

			//Set CalcSettings properties on TextBox1
			calcSettings = this.ultraCalcManager1.GetCalcSettings(this.textBox1);       
			calcSettings.PropertyName = "Text";
			calcSettings.Alias = "Height";
			calcSettings.ErrorValue = 1;
			
			//Set CalcSettings properties on TextBox2
			calcSettings = this.ultraCalcManager1.GetCalcSettings(this.textBox2);       
			calcSettings.PropertyName = "Text";
			calcSettings.Alias = "Width";
			calcSettings.ErrorValue = 1;
			
			//Create a NamedReference to calulate the area. 
			NamedReference namedReference = null;
			namedReference = this.ultraCalcManager1.NamedReferences.Add("Area", "[//Height] * [//Width]");
			namedReference.ErrorValue = "Error";

			//Everything is added, so resume
			this.ultraCalcManager1.ResumeCalc();
		}

		private void ultraCalcManager1_CalculationsCompleted(object sender, System.EventArgs e)
		{
			if ( this.ultraCalcManager1.NamedReferences.Exists("Area") )
			{
				this.textBox3.Text = this.ultraCalcManager1.NamedReferences["Area"].FormulaResult.Value.ToString();
			}
		}
Requirements

Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, 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

See Also