DataView.RowStateFilter プロパティ
アセンブリ: System.Data (system.data.dll 内)

Dim instance As DataView Dim value As DataViewRowState value = instance.RowStateFilter instance.RowStateFilter = value
public: property DataViewRowState RowStateFilter { DataViewRowState get (); void set (DataViewRowState value); }
/** @property */ public DataViewRowState get_RowStateFilter () /** @property */ public void set_RowStateFilter (DataViewRowState value)
public function get RowStateFilter () : DataViewRowState public function set RowStateFilter (value : DataViewRowState)
DataViewRowState 値の 1 つ。

Delete メソッドを使用して削除された行だけ、その行の RowStateFilter 値が Deleted に設定されます。同様に、AddNew メソッドを使用して追加された行は、そのプロパティが Added に設定されます。
![]() |
---|
DataRowCollection クラスの Remove メソッドを使用すると、行は Deleted としてマークされません。このメソッドではなく Delete メソッドを使用して、DataView に行を表示できるようにしてください。 |
RowStateFilter が ModifiedCurrent または CurrentRows に設定されているときは、新しい行も表示されます。
RowStateFilter が ModifiedOriginal または OriginalRows に設定されているときは、削除された行も表示されます。

1 つの列で DataTable を作成し、データを変更し、DataView の RowStateFilter を設定して、DataViewRowState に応じて異なる行セットを表示する例を次に示します。
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"]); } }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からDataView.RowStateFilter プロパティを検索する場合は、下記のリンクをクリックしてください。

- DataView.RowStateFilter プロパティのページへのリンク