DataViewRowState Enumeration
This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.
Namespace: System.DataAssembly: System.Data (in system.data.dll)
| Member name | Description | |
|---|---|---|
![]() | Added | A new row. |
![]() | CurrentRows | Current rows including unchanged, new, and modified rows. |
![]() | Deleted | A deleted row. |
![]() | ModifiedCurrent | A current version, which is a modified version of original data (see ModifiedOriginal). |
![]() | ModifiedOriginal | The original version (although it has since been modified and is available as ModifiedCurrent). |
![]() | None | None. |
![]() | OriginalRows | Original rows including unchanged and deleted rows. |
![]() | Unchanged | An unchanged row. |
The DataViewRowState values are used either to retrieve a particular version of data from a DataRow, or to determine what versions exist.
Set the RowStateFilter property of the DataView to specify which version or versions of data you want to view.
You can use the Boolean operator Or with the values to get more than one version.
In the following example DataTable is created with a single column. 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"]);
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
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.
