Delen via


DataRow-verwijdering

Er zijn twee methoden die u kunt gebruiken om een DataRow object te verwijderen uit een DataTable object: de methode Remove van het DataRowCollection object en de Delete methode van het DataRow-object . Terwijl met de Remove methode een DataRow uit de DataRowCollection wordt verwijderd, markeert de Delete methode alleen de rij voor verwijdering. De daadwerkelijke verwijdering vindt plaats wanneer de toepassing de methode AcceptChanges aanroept. Met behulp van Deletekunt u programmatisch controleren welke rijen zijn gemarkeerd voor verwijdering voordat u ze daadwerkelijk verwijdert. Wanneer een rij is gemarkeerd voor verwijdering, RowState wordt de eigenschap ingesteld op Delete.

Geen van Remove beide Delete worden aangeroepen in een foreach-lus tijdens het doorlopen van een DataRowCollection object. Delete of Remove wijzig de status van de verzameling.

Wanneer u een DataSet of DataTable gebruikt in combinatie met een DataAdapter en een relationele gegevensbron, gebruikt u de methode Delete van DataRow om de rij te verwijderen. Met de methode Delete wordt de rij gemarkeerd als Verwijderd in de DataSet of DataTable , maar wordt deze niet verwijderd. Wanneer de DataAdapter een rij tegenkomt die is gemarkeerd als Verwijderd, wordt de methode DeleteCommand uitgevoerd om de rij in de gegevensbron te verwijderen. De rij kan vervolgens permanent worden verwijderd met behulp van de methode AcceptChanges . Als u Verwijderen gebruikt om de rij te verwijderen, wordt de rij volledig uit de tabel verwijderd, maar de DataAdapter verwijdert de rij niet bij de gegevensbron.

De methode Remove van de DataRowCollection neemt een DataRow als argument en verwijdert deze uit de verzameling, zoals wordt weergegeven in het volgende voorbeeld.

workTable.Rows.Remove(workRow)  
workTable.Rows.Remove(workRow);  

In het volgende voorbeeld ziet u daarentegen hoe u de methode Delete in een DataRow aanroept om de RowState te wijzigen in Deleted.

workRow.Delete  
workRow.Delete();  

Als een rij is gemarkeerd voor verwijdering en u de methode AcceptChanges van het DataTable-object aanroept, wordt de rij verwijderd uit de gegevenstabel. Als u RejectChanges aanroept, wordt daarentegen de RowState van de rij teruggezet naar wat deze was voordat deze werd gemarkeerd als Verwijderd.

Notitie

Als de RowState van een DataRow is toegevoegd, wat betekent dat deze zojuist aan de tabel is toegevoegd en deze vervolgens wordt gemarkeerd als Verwijderd, wordt deze uit de tabel verwijderd.

Zie ook