DataViewRowState Énumération

Définition

Décrit la version des données de DataRow.Describes the version of data in a DataRow.

Cette énumération a un attribut FlagsAttribute qui permet une combinaison au niveau du bit de ses valeurs membres.

public enum class DataViewRowState
[System.Flags]
public enum DataViewRowState
type DataViewRowState = 
Public Enum DataViewRowState
Héritage
DataViewRowState
Attributs

Champs

Added 4

Nouvelle ligne.A new row.

CurrentRows 22

Lignes en cours, y compris les lignes non modifiées, les nouvelles lignes et les lignes modifiées.Current rows including unchanged, new, and modified rows. Par défaut, DataViewRowState a la valeur CurrentRows.By default, DataViewRowState is set to CurrentRows.

Deleted 8

Ligne supprimée.A deleted row.

ModifiedCurrent 16

Version actuelle des données d'origine qui ont été modifiées (consultez ModifiedOriginal).A current version of original data that has been modified (see ModifiedOriginal).

ModifiedOriginal 32

Version d'origine des données qui ont été modifiées.The original version of the data that was modified. (Même si les données ont été modifiées, elles sont disponibles en tant que ModifiedCurrent).(Although the data has since been modified, it is available as ModifiedCurrent).

None 0

Aucun.None.

OriginalRows 42

Lignes d'origine, y compris les lignes non modifiées et les lignes supprimées.Original rows including unchanged and deleted rows.

Unchanged 2

Ligne non modifiée.An unchanged row.

Exemples

Dans l’exemple DataTable suivant, est créé avec une seule colonne.In the following example DataTable is created with a single column. Les données sont modifiées et le RowStateFilter DataView du est configuré de façon à afficher des ensembles de lignes différents DataViewRowState, en fonction de.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

Remarques

Les DataViewRowState valeurs sont utilisées pour récupérer une version particulière des données à partir d' DataRowun ou pour déterminer quelles versions existent.The DataViewRowState values are used either to retrieve a particular version of data from a DataRow, or to determine what versions exist.

Définissez la RowStateFilter propriété de l DataView 'pour spécifier la ou les versions de données que vous souhaitez afficher.Set the RowStateFilter property of the DataView to specify which version or versions of data you want to view.

Vous pouvez utiliser l’opérateur booléen ou avec les valeurs pour obtenir plus d’une version.You can use the Boolean operator Or with the values to get more than one version.

Le DataTable utilise DataViewRowState dans laSelect méthode.The DataTable uses DataViewRowState in the Select method.

S’applique à

Voir aussi