Spread for ASP.NET 11 Product Documentation
GetCustomFunctionEnumerator Method (ICustomFunctionSupport)
Example 


FarPoint.Web.Spread Assembly > FarPoint.Web.Spread.Model Namespace > ICustomFunctionSupport Interface : GetCustomFunctionEnumerator Method
Gets an IEnumerator that enumerates through the names of the user-defined functions in the model.
Syntax
'Declaration
 
Function GetCustomFunctionEnumerator() As IEnumerator
'Usage
 
Dim instance As ICustomFunctionSupport
Dim value As IEnumerator
 
value = instance.GetCustomFunctionEnumerator()
IEnumerator GetCustomFunctionEnumerator()

Return Value

IEnumerator containing the custom function enumerator
Example
<Serializable()>
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; 
        } 
} 
    
<Serializable()>
    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; 
    } 
} 

FarPoint.Web.Spread.Model.ICustomFunctionSupport cfs; 
System.Collections.IEnumerator se; 
cfs = (FarPoint.Web.Spread.Model.ICustomFunctionSupport)FpSpread1.ActiveSheetView.DataModel; 
cfs.AddCustomFunction(new CubeFunctionInfo()); 
cfs.AddCustomFunction(new MultiFunc()); 
FpSpread1.ActiveSheetView.SetFormula(1, 1, "CUBE(4)"); 
FpSpread1.ActiveSheetView.SetFormula(2, 2, "MULTI(10)"); 
se = cfs.GetCustomFunctionEnumerator(); 
Response.Write(new Object[] {se.MoveNext().ToString(), se.Current().ToString()});
<Serializable()> 
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

<Serializable()> 
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 cfs As FarPoint.Web.Spread.Model.ICustomFunctionSupport
Dim se As System.Collections.IEnumerator
cfs = FpSpread1.ActiveSheetView.DataModel
cfs.AddCustomFunction(New CubeFunctionInfo)
cfs.AddCustomFunction(New MultiFunc)
FpSpread1.ActiveSheetView.SetFormula(1, 1, "CUBE(4)")
FpSpread1.ActiveSheetView.SetFormula(2, 2, "MULTI(10)")
se = cfs.GetCustomFunctionEnumerator()
Response.Write(New Object() {se.MoveNext().ToString(), se.Current().ToString()})
See Also

Reference

ICustomFunctionSupport Interface
ICustomFunctionSupport Members