Cette énumération possède un attribut FlagsAttribute qui permet la combinaison d'opérations de bits de ses valeurs membres.
Espace de noms : System.DataAssembly : System.Data (dans system.data.dll)
Syntaxe<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
Membres| Nom de membre | Description | |
|---|---|---|
![]() | Added | Nouvelle ligne. |
![]() | CurrentRows | Lignes en cours, y compris les lignes non modifiées, les nouvelles lignes et les lignes modifiées. |
![]() | Deleted | Ligne supprimée. |
![]() | ModifiedCurrent | Version actuelle, qui est une version modifiée des données d'origine (consultez ModifiedOriginal). |
![]() | ModifiedOriginal | Version d'origine (même si elle a été modifiée et est disponible en tant que ModifiedCurrent). |
![]() | None | Aucun. |
![]() | OriginalRows | Lignes d'origine, y compris les lignes non modifiées et les lignes supprimées. |
![]() | Unchanged | Ligne non modifiée. |
NotesLes valeurs DataViewRowState sont utilisées pour récupérer une version particulière des données de DataRow, ou pour déterminer les versions qui existent.
Définissez la propriété RowStateFilter de DataView pour spécifier les versions de données que vous souhaitez afficher.
Vous pouvez utiliser l'opérateur booléen Or avec les valeurs afin d'obtenir plusieurs versions.
ExempleDans l'exemple suivant, DataTable est créé avec une colonne unique. Les données sont modifiées et le RowStateFilter de DataView est défini pour afficher différents jeux de lignes, en fonction de 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"]); } }
Plates-formesWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
Informations de version
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ