Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Esistono due metodi che è possibile utilizzare per eliminare un DataRow oggetto da un DataTable oggetto: il Remove metodo dell'oggetto DataRowCollection e il Delete metodo dell'oggetto DataRow . Mentre il Remove metodo elimina un oggetto DataRow da DataRowCollection, il Delete metodo contrassegna solo la riga per l'eliminazione. La rimozione effettiva si verifica quando l'applicazione chiama il AcceptChanges metodo . Usando Delete, è possibile controllare a livello di codice le righe contrassegnate per l'eliminazione prima di rimuoverle effettivamente. Quando una riga è contrassegnata per l'eliminazione, la relativa RowState proprietà viene impostata su Delete.
Né Delete né Remove devono essere chiamati durante l'iterazione di un oggetto DataRowCollection in un ciclo foreach. Delete né Remove modificare lo stato della raccolta.
Quando si utilizza un DataSet o DataTable in combinazione con un DataAdapter oggetto e una sorgente dati relazionale, utilizzare il metodo Delete di DataRow per rimuovere la riga. Il Delete metodo contrassegna la riga come Deleted in DataSet o DataTable ma non la rimuove. Al contrario, quando rileva DataAdapter una riga contrassegnata come Eliminata, esegue il relativo DeleteCommand metodo per eliminare la riga nell'origine dati. La riga può quindi essere rimossa definitivamente usando il AcceptChanges metodo . Se si utilizza Remove per eliminare la riga, la riga viene rimossa interamente dalla tabella, ma DataAdapter non eliminerà la riga nell'origine dati.
Il metodo Remove di DataRowCollection prende un DataRow come argomento e lo rimuove dalla raccolta, come mostrato nell'esempio seguente.
workTable.Rows.Remove(workRow)
workTable.Rows.Remove(workRow);
L'esempio seguente illustra invece come chiamare il Delete metodo su un DataRow per cambiare il suo RowState in Deleted.
workRow.Delete
workRow.Delete();
Se una riga è contrassegnata per l'eliminazione e si chiama il AcceptChanges metodo dell'oggetto DataTable , la riga viene rimossa da DataTable. Al contrario, se si chiama RejectChanges, l'oggetto RowState della riga torna a quello che era prima di essere contrassegnato come Eliminato.
Annotazioni
Se il RowState di un DataRow è aggiunto, ovvero è stato appena aggiunto alla tabella, e viene segnato come Eliminato, viene rimosso dalla tabella.