PowerTools SPREAD for ASP.NET 8.0J
GetCustomFunctionEnumerator メソッド (ICustomFunctionSupport)

モデル内のユーザー定義関数の名前を列挙するIEnumeratorを取得します。
構文
'Declaration
 
Function GetCustomFunctionEnumerator() As IEnumerator
IEnumerator GetCustomFunctionEnumerator()

戻り値の型

カスタム関数の列挙子を含むIEnumerator
[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()})
参照

ICustomFunctionSupport インタフェース
ICustomFunctionSupport メンバ

 

 


© 2003-2015, GrapeCity inc. All rights reserved.