DataViewRowState 列挙体とは? わかりやすく解説

DataViewRowState 列挙体

DataRow 内のデータのバージョンを記述します。

この列挙体には、メンバ値のビットごとの組み合わせを可能にする FlagsAttribute 属性が含まれています。

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

<FlagsAttribute> _
Public Enumeration DataViewRowState
Dim instance As DataViewRowState
[FlagsAttribute] 
public enum DataViewRowState
[FlagsAttribute] 
public enum class DataViewRowState
/** @attribute FlagsAttribute() */ 
public enum DataViewRowState
FlagsAttribute 
public enum DataViewRowState
メンバメンバ
 メンバ名説明
.NET Compact Framework によるサポートAdded新しい行。 
.NET Compact Framework によるサポートCurrentRows変更されていない行、新しい行、および変更された行を含む現在の行。 
.NET Compact Framework によるサポートDeleted削除された行。 
.NET Compact Framework によるサポートModifiedCurrent元のデータの変更後のバージョン (ModifiedOriginal のトピックを参照) である現在のバージョン。 
.NET Compact Framework によるサポートModifiedOriginal元のバージョン。既に変更されていて ModifiedCurrent として使用できます。 
.NET Compact Framework によるサポートNoneなし。 
.NET Compact Framework によるサポートOriginalRows変更されていない行と削除された行を含む元の行。 
.NET Compact Framework によるサポートUnchanged変更されていない行。 
解説解説

DataViewRowState 値は、DataRow からデータの特定のバージョンを取得するため、またはどのバージョンが存在するかを確認するために使用します。

DataView の RowStateFilter プロパティを設定して、データのどのバージョンを表示するかを指定します。

値とブール型の OR 演算子を使用すると、1 つ以上のバージョンを取得できます。

DataTable は Select メソッド内で DataViewRowState を使用します。

使用例使用例

1 つの列で DataTable を作成する例を次に示します。データを変更し、DataViewRowState に応じて異なる行セットを表示するように、DataView の RowStateFilter を設定します。

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
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"]);
    }
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「DataViewRowState 列挙体」の関連用語

DataViewRowState 列挙体のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DataViewRowState 列挙体のページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS