DataSet ds = new DataSet();
DataTable emp = new DataTable("Employees");
DataTable div = new DataTable("Division");
emp.Columns.Add("LastName");
emp.Columns.Add("FirstName");
emp.Rows.Add(new Object[] {"Jones", "Marianne"});
emp.Rows.Add(new Object[] {"Fieldes", "Anna"});
div.Columns.Add("Section");
div.Columns.Add("Specialty");
div.Rows.Add(new Object[] {"Finance", "Taxes"});
div.Rows.Add(new Object[] {"Mergers", "Legal"});
ds.Tables.AddRange(new DataTable[] {emp, div});
new FarPoint.Win.Spread.Model.DefaultSheetDataModel dataModel = new FarPoint.Win.Spread.Model.DefaultSheetDataModel();
dataModel.DataSource = ds;
dataModel.DataMember = "Employees";
dataModel.AddUnboundRows(1, 3);
fpSpread1.ActiveSheet.Models.Data = dataModel;
dataModel.AddRowToDataSource(1, true);
dataModel.SetValue(1, 0, "Kingsley");
dataModel.SetValue(1, 1, "Mark");
Dim ex As FarPoint.CalcEngine.Expression
Dim dataModel As New FarPoint.Win.Spread.Model.DefaultSheetDataModel(10, 10)
dataModel.AddCustomName("TWICESUM", New FarPoint.CalcEngine.DoubleExpression(10))
dataModel.SetFormula(1, 1, "TWICESUM")
FpSpread1.ActiveSheet.Models.Data = dataModel
ex = dataModel.GetExpression(1, 1)
dataModel.EvaluateExpression(1, 1, ex)
MessageBox.Show("The expression is " & ex.ToString())