Sascha hat vollkommen recht. Wenn du mit Zeilen aus einem DataSet arbeitest, dann werden die Operationen die du darauf ausführst im Hintergrund gebuffert.
Eine Row kann folgende Stati besitzen:
DataRowState.Added;
DataRowState.Deleted;
DataRowState.Detached;
DataRowState.Modified;
DataRowState.Unchanged;
Man hat hier sogar die Möglichkeit mit der Methode row.RejectChanges() alle Änderungen, die an der Row in dem Columns gemacht wurde, zurückzusetzen - vorausgesetzt man hat vorher nicht AcceptChanges() aufgerufen. Diese Methode setzt den Status ALLER rows in der RowCollection auf Unchanged
Wenn man damit mal ein bißchen rumgespielt hat und sich mit dem Konzept das dahintersteht vertraut gemacht hat, dann kommen einem die tollsten Ideen ;-)