Spread for ASP.NET 11 Product Documentation
GetExpression Method (DefaultSheetDataModel)
Example 


FarPoint.Web.Spread Assembly > FarPoint.Web.Spread.Model Namespace > DefaultSheetDataModel Class : GetExpression Method
Row index of the cell
Column index of the cell
Gets the formula, as an expression value, for the cell of the specified row and column.
Syntax
'Declaration
 
Public Overridable Function GetExpression( _
   ByVal row As Integer, _
   ByVal column As Integer _
) As Expression
'Usage
 
Dim instance As DefaultSheetDataModel
Dim row As Integer
Dim column As Integer
Dim value As Expression
 
value = instance.GetExpression(row, column)
public virtual Expression GetExpression( 
   int row,
   int column
)

Parameters

row
Row index of the cell
column
Column index of the cell

Return Value

Expression containing the formula
Remarks
For a list of the operators and functions you can use in formulas, refer to the Spread for .NET Formula Reference.
Example
This example returns the formula, as an expression value, for the cell of the specified row and column.
FarPoint.CalcEngine.Expression one; 
FarPoint.CalcEngine.Expression two; 
FarPoint.CalcEngine.Expression oneplustwo; 
FarPoint.Web.Spread.Model.DefaultSheetDataModel dataModel; 
one = new FarPoint.CalcEngine.DoubleExpression(100); 
two = new FarPoint.CalcEngine.DoubleExpression(20); 
oneplustwo = new FarPoint.CalcEngine.BinaryOperatorExpression(FarPoint.CalcEngine.BinaryOperatorInfo.AddOperator, one, two);

dataModel = (FarPoint.Web.Spread.Model.DefaultSheetDataModel)FpSpread1.ActiveSheetView.DataModel;
dataModel.SetExpression(0, 0, oneplustwo);
 
FarPoint.CalcEngine.Expression x; 
x = dataModel.GetExpression(0, 0); 
Response.Write(x.ToString());
Dim dfltdatamodel As FarPoint.Web.Spread.Model.DefaultSheetDataModel
Dim one As FarPoint.CalcEngine.Expression
Dim two As FarPoint.CalcEngine.Expression
Dim oneplustwo As FarPoint.CalcEngine.Expression
one = New FarPoint.CalcEngine.DoubleExpression(100.0)
two = New FarPoint.CalcEngine.DoubleExpression(20.0)
oneplustwo = New FarPoint.CalcEngine.BinaryOperatorExpression(FarPoint.CalcEngine.BinaryOperatorInfo.AddOperator, one, two)

dfltdatamodel = FpSpread1.ActiveSheetView.DataModel
dfltdatamodel.SetExpression(0, 0, oneplustwo)

Dim x As FarPoint.CalcEngine.Expression
x = dfltdatamodel.GetExpression(0, 0)
Response.Write(x.ToString()) 
FpSpread1.ActiveSheetView.RowCount = 10;
FpSpread1.ActiveSheetView.ColumnCount = 6;

for (int i = 0; i < FpSpread1.ActiveSheetView.RowCount; i++)
{
    for (int j = 0; j < 2; j++)
    {
        FpSpread1.ActiveSheetView.Cells[i, j].Value = i+j;
    }
}

FpSpread1.ActiveSheetView.Cells[0, 0].Value = 5;
FpSpread1.ActiveSheetView.Cells[6, 2].Formula = "LINEST(B1:B3,A1:A3,TRUE,TRUE)";
FarPoint.Web.Spread.Model.DefaultSheetDataModel dm = FpSpread1.ActiveSheetView.DataModel as FarPoint.Web.Spread.Model.DefaultSheetDataModel;
FarPoint.CalcEngine.Expression expression = dm.GetExpression(6, 2);
FarPoint.CalcEngine.CalcArray value = dm.EvaluateExpression(6, 2, expression) as FarPoint.CalcEngine.CalcArray;
if (value != null)
{
    for (int i = 0; i < value.RowCount; i++)
    {
        for (int j = 0; j < value.ColumnCount; j++)
        {
            FpSpread1.ActiveSheetView.Cells[i, 3 + j].Value = value.GetValue(i, j);
        }
    }                
}
FpSpread1.ActiveSheetView.RowCount = 10
FpSpread1.ActiveSheetView.ColumnCount = 6

For i As Integer = 0 To FpSpread1.ActiveSheetView.RowCount - 1
    For j As Integer = 0 To 1
        FpSpread1.ActiveSheetView.Cells(i, j).Value = i + j
    Next
Next

FpSpread1.ActiveSheetView.Cells(0, 0).Value = 5
FpSpread1.ActiveSheetView.Cells(6, 2).Formula = "LINEST(B1:B3,A1:A3,TRUE,TRUE)"
Dim dm As FarPoint.Web.Spread.Model.DefaultSheetDataModel = TryCast(FpSpread1.ActiveSheetView.DataModel, FarPoint.Web.Spread.Model.DefaultSheetDataModel)
Dim expression As FarPoint.CalcEngine.Expression = dm.GetExpression(6, 2)
Dim value As FarPoint.CalcEngine.CalcArray = TryCast(dm.EvaluateExpression(6, 2, expression), FarPoint.CalcEngine.CalcArray)
If value IsNot Nothing Then
    For i As Integer = 0 To value.RowCount - 1
        For j As Integer = 0 To value.ColumnCount - 1
            FpSpread1.ActiveSheetView.Cells(i, 3 + j).Value = value.GetValue(i, j)
        Next
    Next
End If
See Also

Reference

DefaultSheetDataModel Class
DefaultSheetDataModel Members
SetExpression Method