PowerTools SPREAD for Windows Forms 10.0J
GetCustomFunction メソッド (DefaultSheetDataModel)


取得するユーザー定義のカスタム関数の名前
モデルからユーザー定義のカスタム関数を取得します。
構文
'Declaration
 
Public Function GetCustomFunction( _
   ByVal name As String _
) As FunctionInfo
'使用法
 
Dim instance As DefaultSheetDataModel
Dim name As String
Dim value As FunctionInfo
 
value = instance.GetCustomFunction(name)
public FunctionInfo GetCustomFunction( 
   string name
)

パラメータ

name
取得するユーザー定義のカスタム関数の名前

戻り値の型

指定した名前のユーザー定義カスタム関数を含む FunctionInfo オブジェクト。存在しない場合は Null
次のサンプルコードでは、このメンバを使用して、モデルからユーザー定義のカスタム関数を返しています。
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;

FarPoint.CalcEngine.FunctionInfo fi;
fi = dataModel.GetCustomFunction("CUBE");
listBox1.Items.Add(fi.MinArgs.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 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 fi As FarPoint.CalcEngine.FunctionInfo
fi = dataModel.GetCustomFunction("CUBE")
ListBox1.Items.Add(fi.MinArgs.ToString())
参照

DefaultSheetDataModel クラス
DefaultSheetDataModel メンバ

 

 


© 2004-2017, GrapeCity inc. All rights reserved.