DataView.RowStateFilter, propriété
Mise à jour : novembre 2007
Obtient ou définit le filtre d'état des lignes utilisé dans le DataView.
Assembly : System.Data (dans System.Data.dll)
Seules les lignes ayant été supprimées à l'aide de la méthode Delete ont Deleted comme valeur RowStateFilter. De même, la propriété des lignes ajoutées à l'aide de la méthode AddNew a Added comme valeur.
Remarque : |
|---|
L'utilisation de la méthode Remove de la classe DataRowCollection n'entraîne pas le marquage d'une ligne comme Deleted. Utilisez plutôt la méthode Delete pour garantir que les lignes de ce type puissent être affichées dans le DataView. |
Les nouvelles lignes sont également visibles si RowStateFilter a la valeur ModifiedCurrent ou CurrentRows.
Les lignes supprimées sont également visibles si RowStateFilter a les valeurs ModifiedOriginal et OriginalRows.
L'exemple suivant crée DataTable avec une colonne unique, puis modifie les données et définit le RowStateFilter de DataView afin d'afficher différents jeux de lignes, en fonction de 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 Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile pour Smartphone, Windows Mobile pour Pocket PC, Xbox 360
Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Remarque :