[Groupe de terme] Comment dépasser la limite des 20 items dans une liste déroulante

Étiquetté : , ,

  • [Groupe de terme] Comment dépasser la limite des 20 items dans une liste déroulante

    Posté par anthony sur 11 avril 2022 à 12h04

    Bonjour,

    Cet article peut vous intéresser si vous êtes dans ce cas :

    • Vous avez une banque de termes contenant des termes de référence pour votre organisation

    • Vos groupes de termes ont plus de 20 termes

    • Vous utilisez SP et la source de données de vos colonnes est un groupe de terme

    • Vous utilisez Powerapps dont la source de données est votre SP

    Si vous êtes dans ce cas, vous allez vous apercevoir d’une limitation de powerapps qui affiche uniquement les 20 premiers termes de votre groupe de terme.

    Heureusement la toile regorge de personnes brillantes et qui n’hésitent pas à partager leurs connaissances. 😍

    La source de l’article :

    PowerApps | Display more than 20 items for Managed Metadata fields – Xylos

    Il est possible que ce dernier puisse effrayer les néophytes, aussi voici une synthèse en FR.

    Importer le flow

    L’auteur a gracieusement mis à disposition son flow qu’il conviendra de personnaliser selon votre environnement

    https://dl.dropboxusercontent.com/s/am7iz3x4dbhwgg4/GetTermsCollection-PowerApps_20210729001917.zip

    L’objectif du flow est de copier (en cache) dans l’application powerapps, les items de la banque de terme. Pour que ce flow fonctionne, il a besoin d’un déclencheur…nous le verrons plus tard.

    1. Importer le flow

    2. Editer le flow

    3. Modifier les paramètres des actions suivantes selon vos besoins

    4. Enregistrer le flow

    Paramétrage dans Powerapps

    Il faut maintenant charger le résultat du flow dans PowerApps. Une idée proposée par l’auteur et d’exécuter le flow à l’apparition de l’écran que je trouve très intéressante. J’aurais eu tendance (par habitude) à la mettre sur apps onstart.

    1. Ouvrir Powerapps en mode edition

    2. Sélectionner l’écran

    3. Sélectionner la propriété Onvisible

    4. Coller le code suivant

    ClearCollect(nnnom de la collection à créer;nnMatchAll(nnGetTerms.Run("Id correspondant au groupe de terme").json;nn"\{""Label"":""(?<Label>[^""]*)"",""Path"":""(?<Path>[^""]*)"",""TermGuid"":""(?<TermGuid>[^""]*)"",""Value"":""(?<Value>[^""]*)"",""WssId"":""(?<WssId>[^""]*)""\}"nn)nn);;nnClearCollect(nnnom de la collection créée;nnDropColumns(nnNom de la collectionnn"FullMatch";nn"StartMatch";nn"SubMatches"nn)nn)

    Comment obtenir l’ID de votre groupe de terme

    1. Ouvrir la banque de terme

    2. Sélectionner le groupe de terme

    3. Copier l’ID

    Associer votre composant à votre collection

    Comme la collection contient maintenant les termes associés au groupe de terme précise, il nous faut l’associer à notre composant liste déroulante

    1. Sélectioner votre liste déroulante (il faut que la recherche soit activée)

    2. Sélectionner la propriété items

    3. Saisir le nom de la collection

    Et comment faire dans le cas de plusieurs groupes de termes ?

    Nous allons utiliser la fonction Conccurent pour cela

    //Concurrent((formule; formule2))nnConcurrent (n    ClearCollect(n        collectterms_support;n        MatchAll(n            GetTerms.Run("f1b733c7-f4fc-49af-9833-449458a92610").json;n            "\{""Label"":""(?<Label>[^""]*)"",""Path"":""(?<Path>[^""]*)"",""TermGuid"":""(?<TermGuid>[^""]*)"",""Value"":""(?<Value>[^""]*)"",""WssId"":""(?<WssId>[^""]*)""\}"n        )n    );;n    ClearCollect(n        collectterms_support;n        DropColumns(n            collectterms_support;n            "FullMatch";n            "StartMatch";n            "SubMatches"n        )n    );n    ClearCollect(n        collectterms_sujet;n        MatchAll(n            GetTerms.Run("4afc3099-158c-4bc6-9f6a-5bb0d3626f5b").json;n            "\{""Label"":""(?<Label>[^""]*)"",""Path"":""(?<Path>[^""]*)"",""TermGuid"":""(?<TermGuid>[^""]*)"",""Value"":""(?<Value>[^""]*)"",""WssId"":""(?<WssId>[^""]*)""\}"n        )n    );;n    ClearCollect(n        collectterms_sujet;n        DropColumns(n            collectterms_sujet;n            "FullMatch";n            "StartMatch";n            "SubMatches"n        )n    )n)n

    Il vous reste à enregistrer et à recharger l’apps

    PostID=QaLMSXcZU4MDeTp

    R3dKap a répondu Il y a 11 mois, 3 semaines 1 Membre · 1 Réponse
  • 1 Réponse
  • R3dKap

    Membre
    11 avril 2022 à 12h24

    Top article @anthony, merci…

    CommentID=Ht0GU0sGwI4aj62, PostID=QaLMSXcZU4MDeTp

Connectez-vous pour répondre.