DataViewRowState DataViewRowState DataViewRowState DataViewRowState Enum

定義

DataRow 内のデータのバージョンを記述します。Describes the version of data in a DataRow.

この列挙型には FlagsAttribute 属性があり、メンバー値ではビットごとの組み合わせを使用できます。

public enum class DataViewRowState
[System.Flags]
public enum DataViewRowState
type DataViewRowState = 
Public Enum DataViewRowState
継承
DataViewRowStateDataViewRowStateDataViewRowStateDataViewRowState
属性

フィールド

Added Added Added Added 4

新しい行。A new row.

CurrentRows CurrentRows CurrentRows CurrentRows 22

変更されていない行、新しい行、および変更された行を含む現在の行。Current rows including unchanged, new, and modified rows. 既定では、DataViewRowState は CurrentRows に設定されています。By default, DataViewRowState is set to CurrentRows.

Deleted Deleted Deleted Deleted 8

削除された行。A deleted row.

ModifiedCurrent ModifiedCurrent ModifiedCurrent ModifiedCurrent 16

変更された元のデータの現在のバージョン (ModifiedOriginal を参照)。A current version of original data that has been modified (see ModifiedOriginal).

ModifiedOriginal ModifiedOriginal ModifiedOriginal ModifiedOriginal 32

変更されたデータの元のバージョン。The original version of the data that was modified. (データは変更されても、ModifiedCurrent として利用可能です)。(Although the data has since been modified, it is available as ModifiedCurrent).

None None None None 0

なし。None.

OriginalRows OriginalRows OriginalRows OriginalRows 42

変更されていない行と削除された行を含む元の行。Original rows including unchanged and deleted rows.

Unchanged Unchanged Unchanged Unchanged 2

変更されていない行。An unchanged row.

次の例ではDataTable1 つの列が作成されます。In the following example DataTable is created with a single column. データの変更、およびRowStateFilterDataViewに応じて、別の行セットの表示に設定されている、DataViewRowStateします。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

注釈

DataViewRowState値が使用からのデータの特定のバージョンを取得するか、 DataRow、またはどのバージョンの存在を確認します。The DataViewRowState values are used either to retrieve a particular version of data from a DataRow, or to determine what versions exist.

設定、RowStateFilterのプロパティ、DataViewを表示するどのバージョンまたはバージョンのデータを指定します。Set the RowStateFilter property of the DataView to specify which version or versions of data you want to view.

ブール演算子を使用する 1 つ以上のバージョンを取得する値またはします。You can use the Boolean operator Or with the values to get more than one version.

DataTable使用DataViewRowStateで、Selectメソッド。The DataTable uses DataViewRowState in the Select method.

適用対象

こちらもご覧ください