FarPoint.Win.Spread Assembly > FarPoint.Win.Spread Namespace > SheetView Class : GetCustomFunctionEnumerator Method |
'Declaration Public Function GetCustomFunctionEnumerator() As IEnumerator
'Usage Dim instance As SheetView Dim value As IEnumerator value = instance.GetCustomFunctionEnumerator()
public IEnumerator GetCustomFunctionEnumerator()
For more information on using custom functions in formulas, refer to the Formula Reference.
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()});
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()})
Target Platforms: Windows 2000 Professional (SP4), Windows 2000 Server, Windows 2003 Server (SP1), Windows 2008, Windows XP (SP2), Windows Vista, Windows 7, Windows 8