Procedura: ottenere versioni specifiche di un DataRow

 

Pubblicato: luglio 2016

Quando si apportano modifiche alle righe di dati, il dataset mantiene sia la versione originale (Original) che quella nuova (Current) della riga. Prima di chiamare il metodo AcceptChanges, ad esempio, sarà possibile accedere alle diverse versioni di un record, definite nell'enumerazione DataRowVersion, ed effettuare le modifiche necessarie.

Nota

La presenza di versioni diverse di una riga si verifica solo in seguito alla sua modifica e prima della chiamata del metodo AcceptChanges.Una volta chiamato il metodo AcceptChanges, la versione corrente e la versione originale coincideranno.

Se si passa il valore DataRowVersion insieme all'indice di colonna, o al nome di colonna come stringa, viene restituito il valore della versione specifica della riga presente in quella colonna. La colonna modificata viene identificata durante gli eventi ColumnChanging e ColumnChanged. A questo punto è possibile analizzare le diverse versioni della riga per eseguire la convalida. Tuttavia, se i vincoli sono stati sospesi temporaneamente, questi eventi non verranno generati e sarà necessario identificare a livello di codice le colonne modificate. A tale scopo, scorrere la raccolta Columns e confrontare i diversi valori DataRowVersion.

Accesso alla versione originale di una DataRow

Per ottenere la versione originale di un record

  • Accedere al valore di una colonna passando il valore DataRowVersion della riga che deve venire restituita.

    Nell'esempio che segue viene illustrato l'utilizzo del valore DataRowVersion per ottenere il valore originale di un campo CompanyName in una DataRow.

    string originalCompanyName;
    originalCompanyName = northwindDataSet1.Customers[0]
        ["CompanyName", DataRowVersion.Original].ToString();
    
    Dim originalCompanyName = NorthwindDataSet1.Customers(0)(
       "CompanyName", DataRowVersion.Original).ToString()
    

Accesso alla versione corrente di una DataRow

Per ottenere la versione corrente di un record

  • Accedere al valore di una colonna e aggiungere all'indice un parametro che indichi la versione della una riga che si desidera restituire.

    Nell'esempio che segue viene illustrato l'utilizzo del valore DataRowVersion per ottenere il valore corrente di un campo CompanyName in una DataRow.

    string currentCompanyName;
    currentCompanyName = northwindDataSet1.Customers[0]
        ["CompanyName", DataRowVersion.Current].ToString();
    
    Dim currentCompanyName = NorthwindDataSet1.Customers(0)(
        "CompanyName", DataRowVersion.Current).ToString()
    

Vedere anche

Modifica di dati nell'applicazione
Convalida dei dati
Salvataggio di dati
Procedure dettagliate relative ai dati
Associazione di controlli Windows Form ai dati in Visual Studio
Cenni preliminari sulle applicazioni dati in Visual Studio
Connessione ai dati in Visual Studio
Preparazione dell'applicazione al ricevimento di dati
Recupero di dati nell'applicazione
Associazione di controlli ai dati in Visual Studio