FarPoint.Win.Spread.Model.DefaultSheetDataModel datamodel;
private void Form1_Load(object sender, EventArgs e)
{
// 数式の設定
fpSpread1.ActiveSheet.Cells[0, 0].Value = 1;
fpSpread1.ActiveSheet.Cells[1, 0].Value = 2;
fpSpread1.ActiveSheet.Cells[2, 0].Formula = "A1";
fpSpread1.ActiveSheet.Cells[3, 0].Formula = "A1 + A2";
datamodel = (FarPoint.Win.Spread.Model.DefaultSheetDataModel)fpSpread1.ActiveSheet.Models.Data;
// セルごとにChangedイベントの発生
datamodel.UnionedChangeCellRange = false;
// Changedイベントの関連付け
datamodel.Changed += new FarPoint.Win.Spread.Model.SheetDataModelEventHandler(this.datamodel_Changed);
}
private void datamodel_Changed(object sender, FarPoint.Win.Spread.Model.SheetDataModelEventArgs e)
{
// Changedイベントの発生確認
Console.WriteLine(String.Format("Cell[{0}, {1}]から{2}行{3}列のセルが変更", e.Row, e.Column, e.RowCount, e.ColumnCount));
}
private void button1_Click(object sender, EventArgs e)
{
// A1セルの値を変更
fpSpread1.ActiveSheet.Cells[0, 0].Value = 10;
}
Dim WithEvents datamodel As FarPoint.Win.Spread.Model.DefaultSheetDataModel
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' 数式の設定
FpSpread1.ActiveSheet.Cells(0, 0).Value = 1
FpSpread1.ActiveSheet.Cells(1, 0).Value = 2
FpSpread1.ActiveSheet.Cells(2, 0).Formula = "A1"
FpSpread1.ActiveSheet.Cells(3, 0).Formula = "A1 + A2"
datamodel = DirectCast(FpSpread1.ActiveSheet.Models.Data, FarPoint.Win.Spread.Model.DefaultSheetDataModel)
' セルごとにChangedイベントの発生
datamodel.UnionedChangeCellRange = False
End Sub
Private Sub datamodel_Changed(sender As Object, e As SheetDataModelEventArgs) Handles datamodel.Changed
' Changedイベントの発生確認
Console.WriteLine([String].Format("Cell[{0}, {1}]から{2}行{3}列のセルが変更", e.Row, e.Column, e.RowCount, e.ColumnCount))
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' A1セルの値を変更
FpSpread1.ActiveSheet.Cells(0, 0).Value = 10
End Sub