Procedura: ottenere versioni specifiche di un DataRow

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.

    Dim originalCompanyName = NorthwindDataSet1.Customers(0)(
       "CompanyName", DataRowVersion.Original).ToString()
    
    string originalCompanyName;
    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.

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

Vedere anche

Concetti

Modifica di dati nell'applicazione

Convalida dei dati

Salvataggio di dati

Novità relative allo sviluppo di applicazioni dati in Visual Studio 2012

Associazione di controlli Windows Form 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

Altre risorse

Procedure dettagliate relative ai dati

Cenni preliminari sulle applicazioni dati in Visual Studio

Connessione ai dati in Visual Studio