MESCIUS SPREAD for Windows Forms 17.0J 移行ガイド
セルの編集を終了してもDataRowのRowStateがModifiedにならない


ステータス

バージョン ID 機能分類 対応策
2.5.1005.2002/2.5.2005.2005 25052 データ連結

詳細

旧バージョンでは、セルデータが変更されたタイミングで自動的に RowState が更新されていました。本バージョンでは、標準の DataGridView コントロールと同様、アクティブセルが他の行に移動したタイミングで更新されます。旧バージョンと同様の動作を実現するには、セルのデータを変更した後に発生する Change イベントや、セルに値を設定する SetValue メソッドの後 でEndEditメソッドを明示的に呼び出します。

DataTable dt = new DataTable();

private void fpSpread1_Change(object sender, FarPoint.Win.Spread.ChangeEventArgs e)
{
    // EndEditメソッドの明示的な呼出し
    dt.Rows[e.Row].EndEdit();
}

private void button1_Click(object sender, EventArgs e)
{
    fpSpread1.ActiveSheet.SetValue(0, 1, "abc");
    // EndEditメソッドの明示的な呼出し
    dt.Rows[0].EndEdit();
}
Dim dt As New DataTable

Private Sub FpSpread1_Change(ByVal sender As System.Object, ByVal e As FarPoint.Win.Spread.ChangeEventArgs) Handles FpSpread1.Change
    ' EndEditメソッドの明示的な呼出し     
    dt.Rows(e.Row).EndEdit()
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    FpSpread1.ActiveSheet.SetValue(0, 1, "abc")
    ' EndEditメソッドの明示的な呼出し     
    dt.Rows(0).EndEdit()
End Sub

参照

 

 


© MESCIUS inc. All rights reserved.