Associer la fonction search et des boutons filtres type "ticket ouvert", "ticket en cours" , "ticket fermé

Étiquetté : , ,

  • Associer la fonction search et des boutons filtres type "ticket ouvert", "ticket en cours" , "ticket fermé

    Posté par bene sur 17 octobre 2023 à 9h50

    Hello la team,

    J’ai un petit soucis sur mon APP.

    J’ai réussi à faire apparaitre les valeurs de ma base de donnée ( (colonne name) donc le nom assosié à une ligne) sur ma Gallary en fonction du texte (nom) inscrit par l’utilisateur.

    Search( [@’Mabasededonnée]; SearchInput1_3.Text;”Name”;”Name”)

    Je souhaiterais en plus, 3 bouton qui filtrera en fonction du statut de ma ligne.

    Par exemple :

    Search( [@’Mabasededonnée]; SearchInput1_3.Text;”Name”;”Name”) and if(button1.pressed; Statut = button1_variable; “”)

    Mais cela ne fonctionne pas.

    Je ne sais pas si j’ai été claire.

    Merci pour votre aide

    PostID=eXxSODF5xog33hv

    DavidZed a répondu Il y a 2 mois, 3 semaines 1 Membre · 5 Réponses
  • 5 Réponses
  • DavidZed

    Membre
    18 octobre 2023 à 17h31

    Bonjour,

    Tout d’abord, fais attention à ce que ta liste contienne mois de 500 éléments (on peut la monter à 2000 max), car la fonction search n’est pas délégable.

    Pour ton appli, je te conseille :

    • De créer une galerie horizontale pour tes boutons, appelons la GalFiltreStatus

    • De mettre en source de données les statuts possibles sous forme de table, ainsi que l’option “Tous” :

    ["Ouvert","Fermé","En cours","Tous"]

    D’ajouter un bouton dans la galerie et de lui mettre en Text: ThisItem.Value

    Pour ta galerie, il faudra utiliser la fonction Filter:

    Search( Filter([@'Mabasededonnée];n'Nom de la col status'.Value  = GalFiltreStatus.Selected.Value /* on affiche si le statut est celui sélectionné */n|| GalFiltreStatus.Selected.Value = "Tous" /* Échappatoire, si "tous" est sélectionné, on affiche toutes les lignes */n)n; SearchInput1_3.Text;"Name";"Name") n

    CommentID=BWgn0jsHw3mJxMM, PostID=eXxSODF5xog33hv

  • bene

    Membre
    23 octobre 2023 à 14h04

    Bonjour Alexandre, David,

    Merci pour vos réponses !!

    Bonne journée

    CommentID=PxqsvNfNNRpoeMW, PostID=eXxSODF5xog33hv

  • bene

    Membre
    25 octobre 2023 à 11h59

    Bonjour, je me permets de re ouvrir ce ticket car comme l’avait indiqué Alexandre, ma fonction search ne marche pas car j’ai trop de donné dans ma list sharepoint. Avez-vous une alternative ? merci pour votre aide

    CommentID=HHlRm1LYaxuumoH, PostID=eXxSODF5xog33hv

  • DavidZed

    Membre
    25 octobre 2023 à 12h18

    Bonjour Bene ,

    Si tu es sûre de ne jamais avoir plus de 2000 éléments dans ta liste, tu peux augmenter la limite d’enregistrements affichés dans les propriétés de ton application.

    Si ce n’est pas le cas, il faudra passer par une formule délégable et remplacer :

    Search( Mabasededonnée; SearchInput1_3.Text;"Name";"Name")

    par

    Filter( Mabasededonnée; StartsWith( SearchInput1_3.Text;Name) )

    L’inconvénient, c’est que ce filtre ne va plus chercher dans toute la chaine mais seulement vérifier si la valeur commence par ce que l’utilisateur va saisir dans le textinput.

    Tu peux bien entendu, ajouter le test logique que je t’ai donné plus haut dans le Filter()

    CommentID=gVlxBX3hr6Gp8np, PostID=eXxSODF5xog33hv

Connectez-vous pour répondre.