Spread for ASP.NET 8.0 Product Documentation
AddCustomFunction Method (DefaultSheetDataModel)
Example 


FunctionInfo object that contains the user-defined function to add
Adds a new user-defined custom function to the model for use in formulas.
Syntax
'Declaration
 
Public Sub AddCustomFunction( _
   ByVal functionInfo As FunctionInfo _
) 
'Usage
 
Dim instance As DefaultSheetDataModel
Dim functionInfo As FunctionInfo
 
instance.AddCustomFunction(functionInfo)
public void AddCustomFunction( 
   FunctionInfo functionInfo
)

Parameters

functionInfo
FunctionInfo object that contains the user-defined function to add
Exceptions
ExceptionDescription
System.ArgumentNullException No function specified; function is a null reference (Nothing in Visual Basic)
Remarks

A user-defined function (FunctionInfo object) must be marked with the Serializable attribute or an exception occurs if the data model is saved to view state, a file, or otherwise serialized.

For more information on using custom functions in formulas, refer to the Formula Reference.

Example
This example adds a custom function to the data model.
<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 PageLoad(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;    
}
<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 PageLoad(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
End Sub
Requirements

Target Platforms: Windows 7, Windows 8, Windows Vista, Windows Server 2000, Windows 2000 Professional, Windows XP Professional, Windows NT 4.0 Workstation, SP6, Windows NT 4.0 Server, SP6

See Also

Reference

DefaultSheetDataModel Class
DefaultSheetDataModel Members

 

 


Copyright © GrapeCity, inc. All rights reserved.