Funzioni Remove e RemoveIf in Power Apps

Rimuove i record da un'origine dati.

Descrizione

Funzione Remove

Usare la funzione Remove per rimuovere uno o più record specifici da un'origine dati.

Per le raccolte deve corrispondere l'intero record. È possibile usare l'argomento All per rimuovere tutte le copie di un record; in caso contrario verrà rimossa solo una copia del record.

Funzione RemoveIf

Usare la funzione RemoveIf per rimuovere uno o più record in base a una condizione o un set di condizioni. Ogni condizione può essere qualsiasi formula che restituisce un valore true o false e può fare riferimento a colonne dell'origine dati in base al nome. Ogni condizione viene valutata singolarmente per ogni record e il record viene rimosso se tutte le condizioni restituiscono true.

Remove e RemoveIf restituiscono l'origine dati modificata come tabella. È possibile usare entrambe le funzioni solo in una formula di comportamento.

È anche possibile usare la funzione Clear per rimuovere tutti i record in una raccolta.

Delega

Quando viene utilizzata con un'origine dati, queste funzioni non possono essere delegate. Solo la prima parte dell'origine dati verrà recuperata e la funzione applicata. Il risultato potrebbe non rappresentare la storia completa. Un avviso potrebbe apparire al momento della creazione per ricordarti questo limite e per suggerire di passare ad alternative delegabili quando possibile. Per ulteriori informazioni, consultare panoramica delega.

Sintassi

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

  • OrigineDati: obbligatorio. L'origine dati che contiene i record da rimuovere.
  • Record(s): obbligatorio. I record da rimuovere.
  • All: facoltativo. In una raccolta, lo stesso record può essere presente più volte. È possibile aggiungere l'argomento All per rimuovere tutte le copie del record.

Remove( DataSource, Table [, All ] )

  • OrigineDati: obbligatorio. L'origine dati che contiene i record da rimuovere.
  • Table: obbligatorio. Tabella di record da rimuovere.
  • All: facoltativo. In una raccolta, lo stesso record può essere presente più volte. È possibile aggiungere l'argomento All per rimuovere tutte le copie del record.

RemoveIf( DataSource, Condition [, ... ] )

  • OrigineDati: obbligatorio. L'origine dati che contiene i record da rimuovere.
  • Condition(s): obbligatorio. Formula che restituisce true per i record da rimuovere. È possibile usare i nomi di colonna di DataSource nella formula. Se si specificano più condizioni, devono tutte restituire true per i record da rimuovere.

Esempi: formule singole

In questi esempi verranno rimossi record in un'origine dati denominata IceCream che inizia con i dati della tabella seguente:

Creare una raccolta con record di esempio

Per creare una raccolta con questi dati:

  1. Inserire un controllo Pulsante.

  2. Impostare la proprietà OnSelect del controllo pulsante sulla formula seguente:

    ClearCollect( IceCream,
                  { ID: 1, Flavor: "Chocolate",  Quantity: 100 },
                  { ID: 2, Flavor: "Vanilla",    Quantity: 200 },
                  { ID: 3, Flavor: "Strawberry", Quantity: 300 }
    )
    
  3. Selezionare il pulsante tenendo premuto il tasto ALT:

Rimuovere i record di esempio dalla raccolta utilizzando una formula

Formula Descrizione Risultato
Remove( IceCream,
First( Filter( IceCream, Flavor="Chocolate" ) ) )
Rimuove il record Chocolate dall'origine dati.

L'origine dati IceCream è stata modificata.
Remove( IceCream,
First( Filter( IceCream, Flavor="Chocolate" ) ) First( Filter( IceCream, Flavor="Strawberry" ) ) )
Rimuove due record dall'origine dati.

L'origine dati IceCream è stata modificata.
RemoveIf( IceCream, Quantity > 150 ) Rimuove i record che hanno un valore Quantity maggiore di 150.

L'origine dati IceCream è stata modificata.
RemoveIf( IceCream, Quantity > 150, Left( Flavor, 1 ) = "S" ) Rimuove i record che hanno un valore Quantity maggiore di 150 e un valore Flavor che inizia con S.


L'origine dati IceCream è stata modificata.
RemoveIf( IceCream, true ) Rimuove tutti i record dall'origine dati.

L'origine dati IceCream è stata modificata.

In questo esempio, si utilizzerà un controllo Raccolta per elencare i record in una tabella. Quindi, usare la funzione Remove per rimuovere un elemento in modo selettivo.

Preparare i dati di esempio

Questo esempio usa l'entità Contatti in Microsoft Dataverse disponibile con app e dati di esempio. È possibile distribuire app e dati di esempio quando si crea un ambiente. In alternativa, è anche possibile usare qualsiasi altra origine dati.

In questo esempio, si rimuoverà un elemento usando a pulsante esterno alla raccolta.

  1. Creare un nuova app canvas vuota utilizzando un layout Telefono.

    Creare una app canvas vuota utilizzando il layout Telefono

  2. Nel riquadro di spostamento sinistro selezionare Inserisci.

  3. Selezionare Raccolta verticale.
    Un controllo Raccolta viene aggiunto alla schermata.

    Utilizzo del riquadro di strumenti Inserisci per aggiungere un controllo raccolta verticale

  4. Viene richiesto di selezionare un origine dati in cui è possibile selezionare un origine dati tra quelle disponibili.
    Ad esempio, selezionare l'entità Contatti per utilizzare i dati di esempio:

    Selezione dell'entità Contatti da visualizzare nella raccolta

    La raccolta mostra gli elementi di questa entità:

    Raccolta aggiunta che mostra l'entità Contatti

  5. Inserire un controllo Pulsante dal riquadro sinistro:

    Utilizzo del riquadro di strumenti Inserisci per aggiungere un controllo Pulsante

  6. Spostare il pulsante aggiunto sotto gli elementi della raccolta:

    Spostare il pulsante

  7. Aggiornare la proprietà Text del pulsante a Rimuovi record. È anche possibile utilizzare testo di propria scelta:

    Rinominare il pulsante

  8. Impostare la proprietà OnSelect per questo controllo Pulsante sulla seguente formula.

    Remove( Contacts, Gallery1.Selected )
    

    Impostare la proprietà OnSelect del controllo Pulsante

    Il controllo Raccolta rende disponibile il record attualmente selezionato usando la proprietà Selected. La funzione Remove si riferisce a questo record selezionato per rimuoverlo.

  9. Visualizzare l'anteprima dell'app usando il pulsante Riproduci in alto a destra o premere F5 sulla tastiera:

    Anteprima dell'app

  10. Selezionare un record da rimuovere, ad esempio quello di Nancy in questo esempio:

    Selezionare un record

  11. Selezionare Rimuovi record:

    Raccolta di contatti senza il record Nancy che è stato rimosso

    La selezione del pulsante rimuove il record selezionato (in questo esempio, il record di Nancy).

  12. Chiudere l'anteprima dell'app.

    Suggerimento

    È anche possibile usare un comportamento alternativo con il tasto ALT anziché utilizzare l'anteprima dell'app con il pulsante Riproduci o il tasto F5.

In questo esempio, si rimuoverà un elemento usando un'icona posizionata nella raccolta.

Creare una raccolta con dati di esempio

Se i dati di esempio sono già stati preparati, saltare questo passaggio e passare a Icona cestino in una raccolta.

  1. Aggiungere un controllo Pulsante alla schermata.

  2. Impostare la proprietà OnSelect sulla formula seguente:

    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. Selezionare il pulsante tenendo premuto il tasto ALT.

Viene creata una raccolta di esempi che è possibile utilizzare nell'esempio seguente.

  1. Creare un nuova app canvas vuota utilizzando un layout Telefono.

    Creare una app canvas vuota utilizzando il layout Telefono

  2. Nel riquadro di spostamento sinistro selezionare Inserisci.

  3. Selezionare Raccolta verticale.
    Un controllo Raccolta viene aggiunto alla schermata.

    Utilizzo del riquadro di strumenti Inserisci per aggiungere un controllo raccolta verticale

  4. Viene richiesto di selezionare un origine dati in cui è possibile selezionare un origine dati tra quelle disponibili.
    Ad esempio, selezionare l'entità Contatti per utilizzare i dati di esempio:

    Selezione dell'entità Contatti da visualizzare nella raccolta

    Se è stata creata una raccolta, selezionare invece la propria raccolta:

    Raccolta di contatti di esempio

  5. Selezionare un controllo nel primo elemento della raccolta.

    Per assicurarsi che il passaggio successivo inserisca l'elemento nel modello della raccolta e non all'esterno della raccolta, eseguire questo passaggio prima di passare a quello successivo.

    Selezionare il primo record in una raccolta

  6. Selezionare Aggiungi icona nel riquadro sinistro.

    Utilizzo del riquadro di strumenti Inserisci per aggiungere un controllo icona

    Nota

    Aggiungi icona inserisce un'icona + sul lato sinistro della raccolta, replicata per ogni elemento nella raccolta.

  7. Nel primo elemento, spostare l'icona sul lato destro dello schermata.

    Spostare l'icona

  8. Selezionare la proprietà Icon per l'icona e impostarla sulla seguente formula per aggiornare l'immagine dell'icona come icona cestino:

    Icon.Trash
    

    Nota

    Il prefisso Icon. viene visualizzato solo quando si modifica attivamente la formula.

    Modificare l'icona in icona cestino

  9. Impostare la proprietà OnSelect sulla formula seguente:

    Remove( [@Contacts], ThisItem )
    

    Nota

    È necessario usare l'operatore di risoluzione ambiguità [@...] in questo esempio con dati di esempio che utilizzano l'entità Contatti entità per evitare conflitti con una relazione uno-a-molti. Se si utilizzano origini dati come un elenco di SharePoint o una tabella di SQL Server, l'utilizzo di operatore di risoluzione ambiguità non è richiesto.

    OnSelect per l'icona cestino

  10. Visualizzare l'anteprima dell'app usando il pulsante Riproduci in alto a destra o premere F5 sulla tastiera.

  11. Selezionare l'icona cestino accanto a un record, ad esempio quello di Maria:

    Raccolta con uno dei contatti rimosso

    Il record viene eliminato:

    Eliminare il record

  12. Chiudere l'anteprima dell'app.

Nota

Puoi indicarci le tue preferenze di lingua per la documentazione? Partecipa a un breve sondaggio. (il sondaggio è in inglese)

Il sondaggio richiederà circa sette minuti. Non viene raccolto alcun dato personale (Informativa sulla privacy).