MESCIUS SPREAD for Windows Forms 15.0J
GetCustomFunctionEnumerator メソッド (DefaultSheetDataModel)
使用例 

モデル内のカスタム関数の名前を列挙するIEnumeratorを取得します。
構文
'宣言
 
Public Function GetCustomFunctionEnumerator() As IEnumerator
public IEnumerator GetCustomFunctionEnumerator()

戻り値の型

カスタム関数の列挙子を含む IEnumerator オブジェクト
使用例
次のサンプルコードでは、このメンバを使用して、モデル内のカスタム関数の名前を列挙するIEnumeratorを返しています。
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 AddFunctionInfo : FarPoint.CalcEngine.FunctionInfo
    {
      public override string Name { get { return "ADD"; } }
      public override int MinArgs { get { return 1; } }
      public override int MaxArgs { get { return 1; } }
      public override object Evaluate (object[] args)
      {
        float num = FarPoint.CalcEngine.CalcConvert.ToInt(args[0]);
        return num + num;
      }
    }

FarPoint.Win.Spread.Model.DefaultSheetDataModel dataModel = new FarPoint.Win.Spread.Model.DefaultSheetDataModel(5, 5);
dataModel.AddCustomFunction(new CubeFunctionInfo());
dataModel.SetFormula(1, 1, "CUBE(4)");
dataModel.AddCustomFunction(new AddFunctionInfo());
dataModel.SetFormula(2, 2, "Add(10)");
fpSpread1.ActiveSheet.Models.Data = dataModel;

IEnumerator enm;
enm = dataModel.GetCustomFunctionEnumerator();
while (enm.MoveNext())
{
listBox1.Items.Add((string)enm.Current);
}
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 AddFunctionInfo
   Inherits FarPoint.CalcEngine.FunctionInfo

   Public Overrides ReadOnly Property Name() As String
   Get
   Return "ADD"
   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 Single = FarPoint.CalcEngine.CalcConvert.ToInt(args(0))
   Return num + num
   End Function
End Class


Dim dataModel As New FarPoint.Win.Spread.Model.DefaultSheetDataModel(5, 5)
dataModel.AddCustomFunction(New CubeFunctionInfo())
dataModel.SetFormula(1, 1, "CUBE(4)")
dataModel.AddCustomFunction(New AddFunctionInfo())
dataModel.SetFormula(2, 2, "Add(10)")
FpSpread1.ActiveSheet.Models.Data = dataModel
FpSpread1.ActiveSheet.Models.Data = dataModel

Dim enm As IEnumerator
enm = dataModel.GetCustomFunctionEnumerator()
While enm.MoveNext()
ListBox1.Items.Add(enm.Current())
参照

DefaultSheetDataModel クラス
DefaultSheetDataModel メンバ

 

 


© MESCIUS inc. All rights reserved.