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

モデル内のカスタム関数の名前を列挙するIEnumeratorを取得します。
構文
'Declaration
 
Public Function GetCustomFunctionEnumerator() As IEnumerator
public 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; 
      } 
    } 
    
private void Page_Load(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());    
}
<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 Page_Load(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
参照

DefaultSheetDataModel クラス
DefaultSheetDataModel メンバ

 

 


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