Fonctions Remove et RemoveIf
S’applique à : Applications canevas Applications pilotées par modèle Power Platform CLI
Permet de supprimer des enregistrements d’une source de données.
Note
Les commandes pac power-fx de PAC CLI ne prennent pas en charge la fonction RemoveIf.
Description
Fonction Remove
Utilisez la fonction Remove pour supprimer un ou des enregistrements spécifiques d’une source de données.
Dans les collections, l’enregistrement complet doit correspondre. Vous pouvez utiliser l’argument RemoveFlags.All pour supprimer toutes les copies d’un enregistrement. Dans le cas contraire, une seule copie de l’enregistrement est supprimée.
Fonction RemoveIf
Utilisez la fonction RemoveIf pour supprimer un ou des enregistrements d’après une condition ou un ensemble de conditions. Chaque condition peut être une formule au choix de type true ou false, ainsi qu’elle peut référencer des colonnes de la source de données par nom. Chaque condition est évaluée individuellement pour chaque enregistrement et l’enregistrement est supprimé si toutes les conditions renvoient true.
Les fonctions Remove et RemoveIf renvoient toutes deux la source de données modifiée sous la forme d’une table. Utilisez ces deux fonctions ensemble uniquement dans les formules de comportement.
Vous pouvez également utiliser la fonction Clear pour supprimer tous les enregistrements d’une collection.
Délégation
RemoveIf n’est pris en charge que par quelques sources de données. Pour les sources de données qui ne prennent pas en charge cette fonctionnalité, Power Apps enverra une requête au serveur et récupérera toutes les données correspondant à l’expression de filtre jusqu’à un maximum de 500, 2 000 ou la taille de la page de données. Par la suite, il supprimera chacun de ces enregistrements individuellement en effectuant des appels séparés au serveur.
Syntaxe
Supprimer( DataSource, Record1 [, Record2, ... ] [, RemoveFlags.All ] )
- DataSource : obligatoire. Source de données contenant l’enregistrement ou les enregistrements à supprimer.
- Record(s) – Obligatoire. L’enregistrement ou les enregistrements à supprimer.
- RemoveFlags.All – Facultatif. Dans une collection, le même enregistrement peut apparaître plusieurs fois. Ajoutez l’argument RemoveFlags.All pour supprimer toutes les copies de l’enregistrement.
Supprimerove( DataSource, Table [, RemoveFlags.All ] )
- DataSource : obligatoire. Source de données contenant les enregistrements à supprimer.
- Table – Obligatoire. Table d’enregistrements à supprimer.
- RemoveFlags.All – Facultatif. Dans une collection, le même enregistrement peut apparaître plusieurs fois. Ajoutez l’argument RemoveFlags.All pour supprimer toutes les copies de l’enregistrement.
RemoveIf( DataSource, Condition [, ... ] )
- DataSource : obligatoire. Source de données contenant l’enregistrement ou les enregistrements à supprimer.
- Condition(s) : obligatoire. Formule renvoyant la valeur true pour l’enregistrement ou les enregistrements à supprimer. Vous pouvez utiliser les noms de colonne DataSource dans la formule. Si vous indiquez plusieurs Conditions, toutes doivent renvoyer true pour l’enregistrement ou les enregistrements à supprimer.
Exemples – formules uniques
Dans ces exemples, vous allez supprimer un ou plusieurs enregistrements d’une source de données appelée IceCream qui commence par les données de cette table :
Créer une collection avec des exemples d’enregistrements
Pour créer une collection avec ces données :
Insérer un contrôle Button.
Définissez la propriété OnSelect du contrôle button sur la formule ci-dessous :
ClearCollect( IceCream, { ID: 1, Flavor: "Chocolate", Quantity: 100 }, { ID: 2, Flavor: "Vanilla", Quantity: 200 }, { ID: 3, Flavor: "Strawberry", Quantity: 300 } )
Cliquez sur le bouton tout en maintenant la touche Alt enfoncée :
Supprimer des exemples d’enregistrements de la collection à l’aide d’une formule
Formula | Description | Result |
---|---|---|
Remove( IceCream, LookUp( IceCream, Flavor="Chocolat" )) |
Supprime l’enregistrement Chocolate de la source de données. | La source de données IceCream a été modifiée. |
Remove( IceCream, LookUp( IceCream, Flavor="Chocolat" ), LookUp( IceCream, Flavor="Fraise" ) ) |
Supprime deux enregistrements de la source de données. | La source de données IceCream a été modifiée. |
RemoveIf( IceCream, Quantity > 150 ) | Supprime les enregistrements dont la valeur Quantity est supérieure à 150. | La source de données IceCream a été modifiée. |
RemoveIf( IceCream, Quantity > 150, Left( Flavor, 1 ) = "S" ) | Supprime les enregistrements dont la valeur Quantity est supérieure à 150 et dont la valeur Flavor commence par un S. | La source de données IceCream a été modifiée. |
RemoveIf( IceCream, true ) | Supprime tous les enregistrements de la source de données. | La source de données IceCream a été modifiée. |
Exemples – bouton Remove à l’extérieur d’une galerie
Dans cet exemple, vous allez utiliser un contrôle Gallery pour répertorier les enregistrements dans une table. Et puis utilisez la fonction Remove pour supprimer sélectivement un élément.
Préparer un exemple de données
Cet exemple utilise la table Contacts dans Microsoft Dataverse disponible avec les exemples d’applications et de données. Vous pouvez déployer les exemples d’applications et de données quand vous créez un environnement. Vous pouvez également utiliser n’importe quel autre source de données à la place.
Bouton Remove à l’extérieur d’une galerie
Dans cet exemple, vous allez supprimer un élément à l’aide d’un bouton à l’extérieur de la galerie.
Créez une application canevas vierge en utilisant une disposition de téléphone.
Cliquez sur Insérer dans le volet de gauche.
Sélectionnez Galerie verticale.
Un contrôle Gallery est ajouté à votre écran.Vous êtes invité à sélectionner un source de données où vous pouvez sélectionner une source de données à partir des sources de données disponibles.
Par exemple, sélectionnez la table Contacts pour utiliser les exemples de données :La galerie affiche les éléments de ce tableau :
Insérez un contrôle Button depuis le volet gauche :
Déplacez le bouton ajouté sous les éléments de la galerie :
Mettre à jour la propriété de texte du bouton avec Supprimer l’enregistrement. Vous pouvez également utiliser le texte de votre choix :
Sélectionnez la propriété OnSelect de ce contrôle button avec la formule suivante :
Remove( Contacts, Gallery1.Selected )
Le contrôle Gallery rend l’enregistrement actuellement sélectionné disponible à l’aide de la propriété Selected. La fonction Remove se réfère à cet enregistrement sélectionné pour le supprimer.
Prévisualisez l’application à l’aide du bouton Lire en haut à droite ou appuyez sur F5 sur le clavier :
Sélectionnez un enregistrement à supprimer, tel que l’enregistrement de Nancy dans cet exemple :
Sélectionnez Supprimer un enregistrement :
La sélection du bouton supprime l’enregistrement sélectionné (dans cet exemple, l’enregistrement de Nancy).
Fermez l’aperçu de l’application.
Pourboire
Vous pouvez également utiliser un comportement alternatif avec la touche Alt au lieu d’utiliser l’aperçu de l’application avec le bouton Lire ou F5.
Exemples – icône de corbeille dans une galerie
Dans cet exemple, vous allez supprimer un élément à l’aide d’une icône placée à l’intérieur de la galerie.
Créer une collection avec un exemple de données
Si vous avez déjà un exemple de données préparé, ignorez cette étape et passez à Icône de Corbeille dans une galerie.
Ajoutez un contrôle Button à votre écran.
Définissez la propriété OnSelect sur la formule suivante :
ClearCollect( SampleContacts, { 'Full Name': "Yvonne McKay (sample)", 'Primary Email': "someone_a@example.com" }, { 'Full Name': "Susanna Stubberod (sample)", 'Primary Email': "someone_b@example.com" }, { 'Full Name': "Nancy Anderson (sample)", 'Primary Email': "someone_c@example.com" }, { 'Full Name': "Maria Campbell (sample)", 'Primary Email': "someone_d@example.com" }, { 'Full Name': "Robert Lyon (sample)", 'Primary Email': "someone_e@example.com" }, { 'Full Name': "Paul Cannon (sample)", 'Primary Email': "someone_f@example.com" }, { 'Full Name': "Rene Valdes (sample)", 'Primary Email': "someone_g@example.com" } )
Cliquez sur le bouton tout en maintenant la touche Alt enfoncée.
Un exemple de collection est créé que vous pouvez utiliser dans l’exemple suivant.
Icône de Corbeille dans une galerie
Créez une application canevas vierge en utilisant une disposition de téléphone.
Cliquez sur Insérer dans le volet de gauche.
Sélectionnez Galerie verticale.
Un contrôle Gallery est ajouté à votre écran.Vous êtes invité à sélectionner un source de données où vous pouvez sélectionner une source de données à partir des sources de données disponibles.
Par exemple, sélectionnez la table Contacts pour utiliser les exemples de données :Si vous avez créé une collection, sélectionnez votre collection à la place :
Sélectionnez un contrôle dans l’élément supérieur de la galerie.
Pour garantir que l’étape suivante insère l’élément dans le modèle de la galerie et non en dehors de la galerie, assurez-vous de suivre cette étape avant de passer à l’étape suivante.
Sélectionner Ajouter une icône dans le volet gauche.
Note
Ajouter une icône insère un signe + sur le côté gauche de la galerie, répliqué pour chaque élément de la galerie.
Dans l’élément supérieur, déplacez l’icône vers le côté droit de l’écran.
Sélectionnez la propriété Icon de l’icône et définissez-la sur la formule suivante pour mettre à jour l’image de l’icône en tant qu’icône de Corbeille :
Icon.Trash
Note
Le préfixe Icon. ne s’affiche que lorsque vous modifiez activement la formule.
Définissez la propriété OnSelect sur la formule suivante :
Remove( [@Contacts], ThisItem )
Note
Vous devez utiliser l’opérateur global de désambiguïsation[@...] dans cet exemple avec des exemples de données qui utilisent la table Contacts pour éviter tout conflit avec une relation Un-à-plusieurs. Si vous utilisez des sources de données telles qu’une liste ou une table SQL Server, l’utilisation de l’opérateur de levée des ambiguïtés globale n’est pas requise.
Prévisualisez l’application à l’aide du bouton Lire en haut à droite ou appuyez sur F5 sur le clavier.
Sélectionnez l’icône de corbeille à côté d’un enregistrement, par exemple celui de Maria :
L’enregistrement est supprimé :
Fermez l’aperçu de l’application.