[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;
}
}
private void Page_Load(object sender, System.EventArgs e)
{
FarPoint.Web.Spread.Model.DefaultSheetDataModel dataModel = new FarPoint.Web.Spread.Model.DefaultSheetDataModel(5, 5);
dataModel.AddCustomFunction(new CubeFunctionInfo());
dataModel.SetFormula(1, 1, "CUBE(4)");
FpSpread1.ActiveSheetView.DataModel = dataModel;
FarPoint.CalcEngine.FunctionInfo fi;
fi = dataModel.GetCustomFunction("CUBE");
Response.Write(fi.MinArgs.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
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)
dataModel.AddCustomFunction(New CubeFunctionInfo)
dataModel.SetFormula(1, 1, "CUBE(4)")
FpSpread1.ActiveSheetView.DataModel = dataModel
Dim fi As FarPoint.CalcEngine.FunctionInfo
fi = dataModel.GetCustomFunction("CUBE")
Response.Write(fi.MinArgs.ToString())
End Sub