GrapeCity.Xaml.SpreadSheet.Data Namespace > Worksheet Class : AddCustomFunction Method |
'Declaration Public Sub AddCustomFunction( _ ByVal function As CalcFunction _ )
'Usage Dim instance As Worksheet Dim function As CalcFunction instance.AddCustomFunction(function)
public void AddCustomFunction( CalcFunction function )
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
Target Platforms: Windows Server 2012, Windows RT