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

Lorsqu’elles sont utilisées avec une source de données, ces fonctions ne peuvent pas être déléguées. Seule la première partie de la source de données sera extraite, puis la fonction sera appliquée. Il se peut que le résultat ne représente pas une vue d’ensemble complète. Un avertissement peut s’afficher au moment de la création pour vous rappeler cette limitation.

Prise en charge de la délégation (expérimental)

La prise en charge de la délégation pour RemoveIf est maintenant dans l’aperçu expérimental (désactivé par défaut) pour les sources de données qui la prennent en charge. Si un source de données ne prend pas en charge cette fonctionnalité, Power Apps enverra une requête au serveur et récupérera toutes les données qui correspondent à l’expression de filtre jusqu’au maximum de 500, 2 000 ou la taille de la page de données. Ensuite, il effectuera une opération de suppression sur chacun de ces enregistrements avec des appels individuels 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 :

Exemple de glace.

Créer une collection avec des exemples d’enregistrements

Pour créer une collection avec ces données :

  1. Insérer un contrôle Button.

  2. 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 }
    )
    
  3. 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. Résultat avec la Vanille et la Fraise.

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. Résultat avec uniquement de la vanille.

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. Résultat avec uniquement du chocolat.

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. Résultat avec le chocolat et la Vanille.


La source de données IceCream a été modifiée.
RemoveIf( IceCream, true ) Supprime tous les enregistrements de la source de données. Résultat avec aucune glace.

La source de données IceCream a été modifiée.

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.

Dans cet exemple, vous allez supprimer un élément à l’aide d’un bouton à l’extérieur de la galerie.

  1. Créez une application canevas vierge en utilisant une disposition de téléphone.

    Application canevas vierge utilisant une disposition de téléphone.

  2. Cliquez sur Insérer dans le volet de gauche.

  3. Sélectionnez Galerie verticale.
    Un contrôle Gallery est ajouté à votre écran.

    Utilisation du volet d’outils Insérer pour ajouter un contrôle Gallery verticale.

  4. 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 :

    Sélection du tableau Contacts à afficher dans la galerie.

    La galerie affiche les éléments de ce tableau :

    Galerie ajoutée montrant la table Contacts.

  5. Insérez un contrôle Button depuis le volet gauche :

    Utilisation du volet d’outils Insérer pour ajouter un contrôle button.

  6. Déplacez le bouton ajouté sous les éléments de la galerie :

    Bouton Déplacer.

  7. Mettre à jour la propriété de texte du bouton avec Supprimer l’enregistrement. Vous pouvez également utiliser le texte de votre choix :

    Bouton Renommer.

  8. Sélectionnez la propriété OnSelect de ce contrôle button avec la formule suivante :

    Remove( Contacts, Gallery1.Selected )
    

    Définition de la propriété OnSelect du contrôle button.

    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.

  9. Prévisualisez l’application à l’aide du bouton Lire en haut à droite ou appuyez sur F5 sur le clavier :

    Application d’aperçu.

  10. Sélectionnez un enregistrement à supprimer, tel que l’enregistrement de Nancy dans cet exemple :

    Sélectionnez un enregistrement.

  11. Sélectionnez Supprimer un enregistrement :

    Galerie de contacts, maintenant sans l’enregistrement de Nancy qui a été supprimé.

    La sélection du bouton supprime l’enregistrement sélectionné (dans cet exemple, l’enregistrement de Nancy).

  12. 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.

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.

  1. Ajoutez un contrôle Button à votre écran.

  2. 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" }
    )
    
  3. 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.

  1. Créez une application canevas vierge en utilisant une disposition de téléphone.

    Application canevas vierge utilisant une disposition de téléphone.

  2. Cliquez sur Insérer dans le volet de gauche.

  3. Sélectionnez Galerie verticale.
    Un contrôle Gallery est ajouté à votre écran.

    Utilisation du volet d’outils Insérer pour ajouter un contrôle Gallery verticale.

  4. 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 :

    Sélection du tableau Contacts à afficher dans la galerie.

    Si vous avez créé une collection, sélectionnez votre collection à la place :

    Exemple de collection de contacts.

  5. 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 le meilleur enregistrement dans une galerie.

  6. Sélectionner Ajouter une icône dans le volet gauche.

    Utilisation du volet d’outils Insérer pour ajouter un contrôle Icon.

    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.

  7. Dans l’élément supérieur, déplacez l’icône vers le côté droit de l’écran.

    Déplacer l’icône.

  8. 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.

    Modifier l’icône en icône de Corbeille.

  9. 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 désambgulation global n’est pas requise.

    OnSelect pour l’icône Corbeille.

  10. Prévisualisez l’application à l’aide du bouton Lire en haut à droite ou appuyez sur F5 sur le clavier.

  11. Sélectionnez l’icône de corbeille à côté d’un enregistrement, par exemple celui de Maria :

    Galerie avec l’un des contacts supprimé.

    L’enregistrement est supprimé :

    Enregistrement supprimé.

  12. Fermez l’aperçu de l’application.