Fonctions Remove et RemoveIf dans Power Apps

Permet de supprimer des enregistrements d’une source de données.

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 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 apparaître au moment de la création pour vous rappeler cette limitation et pour vous suggérer d'utiliser d'autres alternatives lorsque cela est possible. Pour plus d’informations, consultez la Vue d'ensemble de la délégation.

Syntaxe

Remove( DataSource, Record1 [, Record2, ... ] [, All ] )

  • DataSource : obligatoire. Source de données contenant l’enregistrement ou les enregistrements à supprimer.
  • Record(s) – Obligatoire. L’enregistrement ou les enregistrements à supprimer.
  • All : facultatif. Dans une collection, le même enregistrement peut apparaître plusieurs fois. Ajoutez l’argument All pour supprimer toutes les copies de l’enregistrement.

Remove( DataSource, Table [, All ] )

  • DataSource : obligatoire. Source de données contenant les enregistrements à supprimer.
  • Table – Obligatoire. Table d’enregistrements à supprimer.
  • All : facultatif. Dans une collection, le même enregistrement peut apparaître plusieurs fois. Ajoutez l’argument 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 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

Formule Description Résultat
Remove( IceCream,
First( Filter( IceCream, Flavor="Chocolate" ) ) )
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,
First( Filter( IceCream, Flavor="Chocolate" ) ) First( Filter( IceCream, Flavor="Strawberry" ) ) )
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 de galerie 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 de bouton

  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 de bouton avec la formule suivante :

    Remove( Contacts, Gallery1.Selected )
    

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

    Le contrôle de galerie 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 de canevas

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

    Sélectionner 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.

    Conseil

    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 de galerie 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 d’icône

    Notes

    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é Icône 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
    

    Notes

    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 )
    

    Notes

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