Spread for ASP.NET 7.0 Product Documentation
GetCustomFunctionEnumerator Method
See Also  Example Support Options
FarPoint.Web.Spread Assembly > FarPoint.Web.Spread.Model Namespace > DefaultSheetDataModel Class : GetCustomFunctionEnumerator Method


Glossary Item Box

Gets an IEnumerator that enumerates through the names of the custom functions in the model.

Syntax

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

Return Value

IEnumerator setting for the custom function

Example

This example returns a user-defined custom function from the model.
C#Copy Code
<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; 
      } 
    } 
    
private void PageLoad(object sender, System.EventArgs e)
{
    FarPoint.Web.Spread.Model.DefaultSheetDataModel dataModel = new FarPoint.Web.Spread.Model.DefaultSheetDataModel(5, 5); 
    System.Collections.IEnumerator se; 
    dataModel.AddCustomFunction(new CubeFunctionInfo()); 
    dataModel.AddCustomFunction(new MultiFunc()); 
    FpSpread1.ActiveSheetView.SetFormula(1, 1, "CUBE(4)"); 
    FpSpread1.ActiveSheetView.SetFormula(2, 2, "MULTI(10)"); 
    FpSpread1.ActiveSheetView.DataModel = dataModel; 
    se = dataModel.GetCustomFunctionEnumerator(); 
    se.MoveNext(); 
    Response.Write(se.Current.ToString());    
}
Visual BasicCopy Code
<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


Private Sub PageLoad(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim dataModel As New FarPoint.Web.Spread.Model.DefaultSheetDataModel(5, 5)
Dim se As System.Collections.IEnumerator
dataModel.AddCustomFunction(New CubeFunctionInfo)
dataModel.AddCustomFunction(New MultiFunc)
FpSpread1.ActiveSheetView.SetFormula(1, 1, "CUBE(4)")
FpSpread1.ActiveSheetView.SetFormula(2, 2, "MULTI(10)")

FpSpread1.ActiveSheetView.DataModel = dataModel

se = dataModel.GetCustomFunctionEnumerator()
se.MoveNext()
Response.Write(se.Current.ToString())
End Sub

Requirements

Target Platforms: Windows 7, Windows 8, Windows Vista, Windows Server 2000, Windows 2000 Professional, Windows XP Professional, Windows NT 4.0 Workstation, SP6, Windows NT 4.0 Server, SP6

See Also

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