0

XtraGridが変更されたかどうか(値が変更されたか、行が追加されたか)を知る必要があります。

私はそれを作成しboolean varて変更することができますGridView_CellValueChanged

void suppGridView_CellValueChanged(object sender, CellValueChangedEventArgs e) {
    isModified = true;
}

または、
すべてのDataSourceを読み取り、DataRow.RowStateプロパティ値(ModifiedまたはAdded)を確認できます。

foreach (DataRow row in dataSource.Rows) {
    if (row.RowState == DataRowState.Modified || row.RowState == DataRowState.Added) 
        return true;
}

もっと簡単な方法を知っていますか?

4

1 に答える 1

4

データテーブルが次のように変更されたかどうかを知ることができます。

DataTable changes = table.GetChanges(DataRowState.Added | DataRowState.Modified);
bool isModified = (changes != null);

これtableがDataTableです。msdn
から:

DataTable.GetChangesメソッド:
最後に読み込まれてから、またはAcceptChangesが呼び出されてから、DataRowStateによってフィルタリングされてから行われたすべての変更を含むDataTableのコピーを取得します。

備考: 目的のDataRowStateの行が見つからない場合、メソッドはnullを返します。

于 2012-08-22T08:58:34.593 に答える