DataViewRowState DataViewRowState DataViewRowState DataViewRowState Enum

Definizione

Descrive la versione dei dati in un oggetto DataRow.Describes the version of data in a DataRow.

Questa enumerazione ha un attributo FlagsAttribute che consente una combinazione bit per bit dei valori del relativo membro.

public enum class DataViewRowState
[System.Flags]
public enum DataViewRowState
type DataViewRowState = 
Public Enum DataViewRowState
Ereditarietà
DataViewRowStateDataViewRowStateDataViewRowStateDataViewRowState
Attributi

Campi

Added Added Added Added 4

Nuova riga.A new row.

CurrentRows CurrentRows CurrentRows CurrentRows 22

Righe correnti, tra cui righe nuove, modificate e invariate.Current rows including unchanged, new, and modified rows. Per impostazione predefinita, la proprietà DataViewRowState viene impostata su CurrentRows.By default, DataViewRowState is set to CurrentRows.

Deleted Deleted Deleted Deleted 8

Riga eliminata.A deleted row.

ModifiedCurrent ModifiedCurrent ModifiedCurrent ModifiedCurrent 16

Versione corrente di dati originali modificati (vedere ModifiedOriginal).A current version of original data that has been modified (see ModifiedOriginal).

ModifiedOriginal ModifiedOriginal ModifiedOriginal ModifiedOriginal 32

Versione originale dei dati modificati.The original version of the data that was modified. Sebbene modificati, i dati sono disponibili come ModifiedCurrent.(Although the data has since been modified, it is available as ModifiedCurrent).

None None None None 0

Nessuno.None.

OriginalRows OriginalRows OriginalRows OriginalRows 42

Righe originali, tra cui righe non modificate ed eliminate.Original rows including unchanged and deleted rows.

Unchanged Unchanged Unchanged Unchanged 2

Riga non modificata.An unchanged row.

Esempi

Nell'esempio DataTable seguente viene creato con una sola colonna.In the following example DataTable is created with a single column. I dati vengono modificati e l'oggetto RowStateFilter DataView di è impostato in modo da visualizzare set di righe diversi, a seconda DataViewRowStatedell'oggetto.The data is changed, and the RowStateFilter of the DataView is set to display different row sets, depending on the DataViewRowState.

static private void DemonstrateRowState()
{
    // Create a DataTable with one column.
    DataTable dataTable = new DataTable("dataTable");
    DataColumn dataColumn = new DataColumn("dataColumn");
    dataTable.Columns.Add(dataColumn);

    // Add ten rows.
    DataRow dataRow;
    for (int i = 0; i < 10; i++)
    {
        dataRow = dataTable.NewRow();
        dataRow["dataColumn"] = "item " + i;
        dataTable.Rows.Add(dataRow);
    }
    dataTable.AcceptChanges();

    // Create a DataView with the table.
    DataView dataView = new DataView(dataTable);

    // Change one row's value:
    dataTable.Rows[1]["dataColumn"] = "Hello";

    // Add one row:
    dataRow = dataTable.NewRow();
    dataRow["dataColumn"] = "World";
    dataTable.Rows.Add(dataRow);

    // Set the RowStateFilter to display only added and modified rows.
    dataView.RowStateFilter = DataViewRowState.Added
        | DataViewRowState.ModifiedCurrent;

    // Print those rows. Output = "Hello" "World";
    PrintView(dataView, "ModifiedCurrent and Added");

    // Set filter to display on originals of modified rows.
    dataView.RowStateFilter = DataViewRowState.ModifiedOriginal;
    PrintView(dataView, "ModifiedOriginal");

    // Delete three rows.
    dataTable.Rows[1].Delete();
    dataTable.Rows[2].Delete();
    dataTable.Rows[3].Delete();

    // Set the RowStateFilter to display only Added and modified rows.
    dataView.RowStateFilter = DataViewRowState.Deleted;
    PrintView(dataView, "Deleted");

    //Set filter to display only current.
    dataView.RowStateFilter = DataViewRowState.CurrentRows;
    PrintView(dataView, "Current");

    // Set filter to display only unchanged rows.
    dataView.RowStateFilter = DataViewRowState.Unchanged;
    PrintView(dataView, "Unchanged");

    // Set filter to display only original rows.
    dataView.RowStateFilter = DataViewRowState.OriginalRows;
    PrintView(dataView, "OriginalRows");
}


static private void PrintView(DataView dataView, string label)
{
    Console.WriteLine("\n" + label);
    for (int i = 0; i < dataView.Count; i++)
    {
        Console.WriteLine(dataView[i]["dataColumn"]);
    }
}
Private Sub DemonstrateRowState()
    Dim i As Integer

    ' Create a DataTable with one column.
    Dim dataTable As New DataTable("dataTable")
    Dim dataColumn As New DataColumn("dataColumn")
    dataTable.Columns.Add(dataColumn)

    ' Add ten rows.
    Dim dataRow As DataRow
    For i = 0 To 9
        dataRow = dataTable.NewRow()
        dataRow("dataColumn") = "item " + i.ToString()
        dataTable.Rows.Add(dataRow)
    Next i
    dataTable.AcceptChanges()

    ' Create a DataView with the table.
    Dim dataView As New DataView(dataTable)

    ' Change one row's value:
    dataTable.Rows(1)("dataColumn") = "Hello"

    ' Add one row:
    dataRow = dataTable.NewRow()
    dataRow("dataColumn") = "World"
    dataTable.Rows.Add(dataRow)

    ' Set the RowStateFilter to display only Added and modified rows.
    dataView.RowStateFilter = _
    DataViewRowState.Added Or DataViewRowState.ModifiedCurrent

    ' Print those rows. Output = "Hello" "World";
    PrintView(dataView, "ModifiedCurrent and Added")

    ' Set filter to display on originals of modified rows.
    dataView.RowStateFilter = DataViewRowState.ModifiedOriginal
    PrintView(dataView, "ModifiedOriginal")

    ' Delete three rows.
    dataTable.Rows(1).Delete()
    dataTable.Rows(2).Delete()
    dataTable.Rows(3).Delete()

    ' Set the RowStateFilter to display only Added and modified rows.
    dataView.RowStateFilter = DataViewRowState.Deleted
    PrintView(dataView, "Deleted")

    'Set filter to display only current.
    dataView.RowStateFilter = DataViewRowState.CurrentRows
    PrintView(dataView, "Current")

    ' Set filter to display only unchanged rows.
    dataView.RowStateFilter = DataViewRowState.Unchanged
    PrintView(dataView, "Unchanged")

    ' Set filter to display only original rows.
    dataView.RowStateFilter = DataViewRowState.OriginalRows
    PrintView(dataView, "OriginalRows")
End Sub

Private Sub PrintView(ByVal dataView As DataView, ByVal label As String)
    Console.WriteLine(ControlChars.Cr + label)
    Dim i As Integer
    For i = 0 To dataView.Count - 1
        Console.WriteLine(dataView(i)("dataColumn"))
    Next i
End Sub

Commenti

I DataViewRowState valori vengono utilizzati per recuperare una particolare versione di dati DataRowda o per determinare le versioni esistenti.The DataViewRowState values are used either to retrieve a particular version of data from a DataRow, or to determine what versions exist.

Impostare la RowStateFilter proprietà DataView di per specificare la versione o le versioni dei dati che si desidera visualizzare.Set the RowStateFilter property of the DataView to specify which version or versions of data you want to view.

Per ottenere più di una versione, è possibile usare l'operatore booleano o con i valori.You can use the Boolean operator Or with the values to get more than one version.

DataTable UsaDataViewRowState nel metodoSelect .The DataTable uses DataViewRowState in the Select method.

Si applica a

Vedi anche