public class CubeFunctionInfo : GrapeCity.CalcEngine.Functions.CalcFunction
{
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 = GrapeCity.CalcEngine.CalcConvert.ToDouble(args[0]);
return num * num * num;
}
public override object Evaluate(object[] args, object context)
{
return Evaluate(args, context);
}
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
gcSpreadSheet1.AddCustomFunction(new CubeFunctionInfo());
// or
//gcSpreadSheet1.Sheets[0].AddCustomFunction(new CubeFunctionInfo());
gcSpreadSheet1.Sheets[0].SetFormula(1, 1, "CUBE(4)");
//gcSpreadSheet1.ClearCustomFunctions();
}
Public Class CubeFunctionInfo
Inherits GrapeCity.CalcEngine.Functions.CalcFunction
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(args As Object()) As Object
Dim num As Double = GrapeCity.CalcEngine.CalcConvert.ToDouble(args(0))
Return num * num * num
End Function
Public Overrides Function Evaluate(args As Object(), context As Object) As Object
Return Evaluate(args, context)
End Function
End Class
Private Sub Button_Click_1(sender As Object, e As RoutedEventArgs)
gcSpreadSheet1.AddCustomFunction(New CubeFunctionInfo())
' Or
'GcSpreadSheet1.Sheets(0).AddCustomFunction(New CubeFunctionInfo())
gcSpreadSheet1.Sheets(0).SetFormula(1, 1, "CUBE(4)")
'GcSpreadSheet1.ClearCustomFunctions()
End Sub