DataSet.HasChanges
メソッドを試してください。これにより、行の削除または追加、行の変更など、データセットに変更があったかどうかがわかります。
DataSet.GetChanges
何が変わったかを確認するために電話することもできます。このメソッドは、変更のコピーを返します。
たとえば、次のように言うことができます。
private void VerifyChanges(DataSet dataSet)
{
if(!dataSet.HasChanges(DataRowState.Modified)) return;
var changedDataSet = dataSet.GetChanges(DataRowState.Modified);
//... do the tracking or whatever else you want here.
}
または、すべてのDataSetの変更を取得するのではなく、特定のテーブルからの変更のみを取得する場合:
private void VerifyChanges(DataSet dataSet, string tableName)
{
if(!dataSet.HasChanges(DataRowState.Modified)) return;
var changedTable = dataSet
.Tables[tableName]
.GetChanges(DataRowState.Modified);
//... do the tracking or whatever else you want here.
}
最後に、変更されたDataSetから元の値を引き出すには、次のようにコーディングできます。
row[columnIndex, DataRowVersion.Original]