Spread Windows Forms 6.0 Product Documentation
GetCustomFunctionEnumerator Method
See Also  Example Support Options
FarPoint.Win.Spread Assembly > FarPoint.Win.Spread Namespace > SheetView Class : GetCustomFunctionEnumerator Method


Glossary Item Box

Gets an IEnumerator for this sheet that enumerates through the names of the user-defined custom functions (FunctionInfo objects) in the model.

Syntax

Visual Basic (Declaration) 
Public Function GetCustomFunctionEnumerator() As IEnumerator
Visual Basic (Usage)Copy Code
Dim instance As SheetView
Dim value As IEnumerator
 
value = instance.GetCustomFunctionEnumerator()
C# 
public IEnumerator GetCustomFunctionEnumerator()

Return Value

IEnumerator object containing the enumerator for the custom function

Remarks

For more information on using custom functions in formulas, refer to the Formula Reference.

Example

This example illustrates the use of this member by returning an IEnumerator that enumerates through the names of the user-defined custom functions (Function objects) in the sheet.
C#Copy Code
public class CubeFunctionInfo : FarPoint.CalcEngine.FunctionInfo
    {
      public override string Name { get { return "CUBE"; } }
      public override int MinArgs { get { return 1; } }
      public override int MaxArgs { get { return 1; } }
      public override object Evaluate (object[] args)
      {
        double num = FarPoint.CalcEngine.CalcConvert.ToDouble(args[0]);
        return num * num * num;
      }
    }

public class MultiFunc : FarPoint.CalcEngine.FunctionInfo
    {
      public override string Name { get { return "MULTI"; } }
      public override int MinArgs { get { return 1; } }
      public override int MaxArgs { get { return 1; } }
      public override object Evaluate (object[] args)
      {
        double num = FarPoint.CalcEngine.CalcConvert.ToDouble(args[0]);
        return num * num;
      }
    }

System.Collections.IEnumerator se;
fpSpread1.ActiveSheet.AddCustomFunction(new CubeFunctionInfo());
fpSpread1.ActiveSheet.AddCustomFunction(new MultiFunc());
fpSpread1.ActiveSheet.SetFormula(1, 1, "CUBE(4)");
fpSpread1.ActiveSheet.SetFormula(2, 2, "MULTI(10)");
se = fpSpread1.ActiveSheet.GetCustomFunctionEnumerator();
listBox1.Items.AddRange(new Object[] {se.MoveNext().ToString(), se.Current.ToString(), se.MoveNext().ToString(), se.Current.ToString()});
Visual BasicCopy Code
Public Class CubeFunctionInfo
   Inherits FarPoint.CalcEngine.FunctionInfo

   Public Overrides ReadOnly Property Name() As String
   Get
   Return "CUBE"
   End Get
   End Property

   Public Overrides ReadOnly Property MinArgs() As Integer
   Get
   Return 1
   End Get
   End Property

   Public Overrides ReadOnly Property MaxArgs() As Integer
   Get
   Return 1
   End Get
   End Property

   Public Overrides Function Evaluate(ByVal args() As Object) As Object
   Dim num As Double = FarPoint.CalcEngine.CalcConvert.ToDouble(args(0))
   Return num * num * num
   End Function
End Class

Public Class MultiFunc
Inherits FarPoint.CalcEngine.FunctionInfo

Public Overrides ReadOnly Property Name() As String
   Get
   Return "MULTI"
   End Get
   End Property

   Public Overrides ReadOnly Property MinArgs() As Integer
   Get
   Return 1
   End Get
   End Property

   Public Overrides ReadOnly Property MaxArgs() As Integer
   Get
   Return 1
   End Get
   End Property

   Public Overrides Function Evaluate(ByVal args() As Object) As Object
   Dim num As Double = FarPoint.CalcEngine.CalcConvert.ToDouble(args(0))
   Return num * num
   End Function
End Class

Dim se As System.Collections.IEnumerator
FpSpread1.ActiveSheet.AddCustomFunction(New CubeFunctionInfo())
FpSpread1.ActiveSheet.AddCustomFunction(New MultiFunc())
FpSpread1.ActiveSheet.SetFormula(1, 1, "CUBE(4)")
FpSpread1.ActiveSheet.SetFormula(2, 2, "MULTI(10)")
se = FpSpread1.ActiveSheet.GetCustomFunctionEnumerator()
ListBox1.Items.AddRange(New Object() {se.MoveNext().ToString(), se.Current().ToString(), se.MoveNext().ToString(), se.Current().ToString()})

Requirements

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

See Also

© 2002-2012 ComponentOne, a division of GrapeCity. All Rights Reserved.