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();