| FarPoint.Web.Spread Assembly > FarPoint.Web.Spread.Model Namespace > DefaultSheetDataModel Class : GetCustomFunctionEnumerator Method |
'Declaration Public Function GetCustomFunctionEnumerator() As IEnumerator
'Usage Dim instance As DefaultSheetDataModel Dim value As IEnumerator value = instance.GetCustomFunctionEnumerator()
public IEnumerator GetCustomFunctionEnumerator()
<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;
}
}
<Serializable()>
public class MultiFunc : FarPoint.CalcEngine.FunctionInfo
{
public override string Name { get { return "MULTI"; } }
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;
}
}
private void PageLoad(object sender, System.EventArgs e)
{
FarPoint.Web.Spread.Model.DefaultSheetDataModel dataModel = new FarPoint.Web.Spread.Model.DefaultSheetDataModel(5, 5);
System.Collections.IEnumerator se;
dataModel.AddCustomFunction(new CubeFunctionInfo());
dataModel.AddCustomFunction(new MultiFunc());
FpSpread1.ActiveSheetView.SetFormula(1, 1, "CUBE(4)");
FpSpread1.ActiveSheetView.SetFormula(2, 2, "MULTI(10)");
FpSpread1.ActiveSheetView.DataModel = dataModel;
se = dataModel.GetCustomFunctionEnumerator();
se.MoveNext();
Response.Write(se.Current.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 <Serializable()> Public Class MultiFunc Inherits FarPoint.CalcEngine.FunctionInfo Public Overrides ReadOnly Property Name() As String Get Return "MULTI" 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 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) Dim se As System.Collections.IEnumerator dataModel.AddCustomFunction(New CubeFunctionInfo) dataModel.AddCustomFunction(New MultiFunc) FpSpread1.ActiveSheetView.SetFormula(1, 1, "CUBE(4)") FpSpread1.ActiveSheetView.SetFormula(2, 2, "MULTI(10)") FpSpread1.ActiveSheetView.DataModel = dataModel se = dataModel.GetCustomFunctionEnumerator() se.MoveNext() Response.Write(se.Current.ToString()) End Sub
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