Megosztás a következőn keresztül:


AcceptChanges és RejectChanges

Az adatokban DataTablevégrehajtott módosítások pontosságának ellenőrzése után elfogadhatja a módosításokat DataRowAcceptChanges az , DataTablevagy DataSet, amely az Aktuális sor értékeit az Eredeti értékre állítja, és a RowState tulajdonságot Változatlan értékre állítja. A módosítások elfogadása vagy elutasítása törli az összes RowError-információt, és hamisra állítja a HasErrors tulajdonságot. A módosítások elfogadása vagy elutasítása hatással lehet az adatforrás adatainak frissítésére is. További információ: Adatforrások frissítése DataAdapters használatával.

Ha a DataTable-on idegenkulcs-korlátozások vannak, az AcceptChanges és az RejectChanges használatával elfogadott vagy elutasított módosítások a ForeignKeyConstraint.AcceptRejectRule szerint propagálódnak a DataRow gyermeksoraiba. További információ: DataTable Constraints.

Az alábbi példa a hibás sorokat ellenőrzi, adott esetben megoldja a hibákat, és elutasítja azokat a sorokat, ahol a hiba nem oldható fel. Vegye figyelembe, hogy a megoldott hibák esetén a RowError érték üres sztringre lesz visszaállítva, így a HasErrors tulajdonság értéke hamis lesz. Ha az összes hibás sort megoldották vagy elutasították, a rendszer az AcceptChanges meghívásával fogadja el a teljes DataTable összes módosítását.

If workTable.HasErrors Then  
  Dim errRow As DataRow  
  
  For Each errRow in workTable.GetErrors()  
  
    If errRow.RowError = "Total cannot exceed 1000." Then  
      errRow("Total") = 1000  
      errRow.RowError = ""    ' Clear the error.  
    Else  
      errRow.RejectChanges()  
    End If  
  Next  
End If  
  
workTable.AcceptChanges()  
if (workTable.HasErrors)  
{  
  
  foreach (DataRow errRow in workTable.GetErrors())  
  {  
    if (errRow.RowError == "Total cannot exceed 1000.")  
    {  
      errRow["Total"] = 1000;  
      errRow.RowError = "";    // Clear the error.  
    }  
    else  
      errRow.RejectChanges();  
  }  
}  
  
workTable.AcceptChanges();  

Lásd még