Problème sur la fonction SortByColumns() pour une colonne LookUp

Étiquetté : , ,

  • Problème sur la fonction SortByColumns() pour une colonne LookUp

    Posté par RANDRIATAHINA Charles sur 4 novembre 2022 à 16h51

    Bonjour,

    Pour un business case, j’ai besoin de mettre en place des filtres sur la home page de mon application. Le problème c’est que je n’arrive pas à faire fonctionner la fonction SortByColumns() avec ma colonne LookUp. Il semble que cette fonction ne serait pas compatible avec le champ de type Recherche.

    Quelqu’un aurait une alternative ?

    Merci d’avance.

    PostID=in101jVUu6i4VvT

    DavidZed a répondu Il y a 4 mois, 3 semaines 1 Membre · 7 Réponses
  • 7 Réponses
  • R3dKap

    Membre
    4 novembre 2022 à 17h53

    Salut RANDRIATAHINA Charles,

    Effectivement ce n’est pas possible directement. La colonne de Lookup étant une colonne complexe (avec une structure de type {Id: <...>; Value: <...>}), elle ne peut pas être utilisée directement dans la fonction SortByColumns().

    Pour contourner ça, il faut rajouter à ta source de données une colonne qui va contenir uniquement la valeur de ta colonne de Lookup :

    SortByColumns(n    AddColumns(n        colMaCollection;n        "ValeurLookup";n        ColonneLookup.Valuen    );n    "ValeurLookup";n    SortOrder.Ascendingn)

    Ceci étant dit, tant que tu travailleras avec des collections tu n’auras pas de problème de délégation. Mais si tu fais la même chose sur une source de données en direct (liste SharePoint ou table Dataverse) tu vas être confronté au problème classique de délégation qui fait que ta fonction AddColumns() ne fonctionnera que sur les 2 000 premiers éléments de ta source de données. Donc il faut impérativement se débrouiller pour récupérer moins de 2 000 éléments avant de faire cette opération de tri.

    Est-ce que cela répond à ton problème ?

    CommentID=xhXP8r1VYLOBLHa, PostID=in101jVUu6i4VvT

    • RANDRIATAHINA Charles

      Membre
      7 novembre 2022 à 8h58

      Hello R3dKap ,

      Je te remercie pour ton feedback et les explications. Cela devrait resoudre mon problème de tri sur la colonne Lookup. Est-ce qu’il y a une même limitation sur d’autres colonnes complexes ( de type choix par exemple) ? Et pour pouvoir utiliser la fonction AddColumns, est-ce que je dois toujours utiliser la collection comme source de données dans ma gallerie ?

      Merci

      SubCommentID=N8sBDhU1WAXkMaU, CommentID=xhXP8r1VYLOBLHa, PostID=in101jVUu6i4VvT

  • DavidZed

    Membre
    4 novembre 2022 à 18h59

    Si ton tri ne doit être fait que sur une seule colonne, tu peux utiliser

    Sort(Source;ColonneLookup.Value,[Order])

    Par contre si tu dois trier selon plusieurs critères, dont des Lookup, choices etc, le AddColumns est obligatoire

    CommentID=kRKMTlMfDQx8Jak, PostID=in101jVUu6i4VvT

    • RANDRIATAHINA Charles

      Membre
      7 novembre 2022 à 8h59

      Hello DavidZed ,

      Merci beaucoup pour ta réponse.
      En effet, je dois faire le tri sur plusieurs colonnes dont 2 colonnes de type lookup.

      SubCommentID=p2bXBoEjMcAJl3i, CommentID=kRKMTlMfDQx8Jak, PostID=in101jVUu6i4VvT

  • R3dKap

    Membre
    5 novembre 2022 à 9h30

    Tiens… DavidZed : et t’as pas de pb de délégation sous ce format là lorsque tu attaques directement la source de données (SharePoint ou autre) ?

    CommentID=gOAru63Tlxyiwkh, PostID=in101jVUu6i4VvT

Connectez-vous pour répondre.