Spread Windows Forms 13.0 Product Documentation
FarPoint.Win.Spread Assembly / FarPoint.Win.Spread.Model Namespace / ICustomFunctionSupport Interface / AddCustomFunction Method
Function to add
Example


In This Topic
    AddCustomFunction Method (ICustomFunctionSupport)
    In This Topic
    Adds a new user-defined function to the model for use in formulas.
    Syntax
    'Declaration
     
    Sub AddCustomFunction( _
       ByVal functionInfo As FunctionInfo _
    ) 
    'Usage
     
    Dim instance As ICustomFunctionSupport
    Dim functionInfo As FunctionInfo
     
    instance.AddCustomFunction(functionInfo)
    void AddCustomFunction( 
       FunctionInfo functionInfo
    )

    Parameters

    functionInfo
    Function to add
    Example
    This example adds a custom function.
    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;
          }
        }
    
    FarPoint.Win.Spread.Model.ICustomFunctionSupport cfs;
    cfs = (FarPoint.Win.Spread.Model.ICustomFunctionSupport)fpSpread1.ActiveSheet.Models.Data;
    cfs.AddCustomFunction(new CubeFunctionInfo());
    fpSpread1.ActiveSheet.SetFormula(1, 1, "CUBE(4)");
    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
    
    Dim cfs As FarPoint.Win.Spread.Model.ICustomFunctionSupport
    cfs = FpSpread1.ActiveSheet.Models.Data
    cfs.AddCustomFunction(New CubeFunctionInfo())
    FpSpread1.ActiveSheet.SetFormula(1, 1, "CUBE(4)")
    See Also