Afficher tous les éléments d’une table quand les filtres sont vides

  • Afficher tous les éléments d’une table quand les filtres sont vides

    Posté par Ibra sur 11 janvier 2025 à 17h44

    Bonjour à tous,

    Je suis nouveau sur power apps et j’ai besoin de votre aide svp.

    J’ai appliqué une fonction filter à une table sur power apps, avec la formule ci-dessous :

    <div>
    <div>Filter(‘Payment_Orders’,StartsWith(Requestor ,RequestorInput.Value) And StartsWith(‘Order Number’,ON_Input.Value) And (‘Request Type’= DropdownRequestType.Selected.Value) And (Status=DropdownRequestType_1.Selected.Value ))</div>
    <div> </div>
    <div>Le problème c’est que la table n’affiche détails que lorsqu’il y a un élément sélectionné sur la dropdownrequestType et la dropdownRequestType_1</div>
    <div> </div>
    <div>Je vous prie de me dire comment je dois ecrire la formule pour afficher la totalité de la table quand les filtres sont vides.</div>
    </div>

    Ibra a répondu Il y a 5 jours, 12 heures 3 Membres · 4 Réponses
  • 4 Réponses
  • Geoffroy

    Membre
    12 janvier 2025 à 12h05

    Bonjour Ibra,

    Déjà, je pense qu’il y a un problème de syntaxe dans ta formule avec les And. Je conseille d’utiliser plutôt les symboles && pour And et || pour Or.

    Sinon, tu peux essayer avec la formule

    Filter(‘Payment_Orders’,StartsWith(Requestor ,RequestorInput.Value) && StartsWith(‘Order Number’,ON_Input.Value) && (‘Request Type’= DropdownRequestType.Selected.Value || IsBlank(DropdownRequestType.Selected.Value)) && (Status=DropdownRequestType_1.Selected.Value || IsBlank(DropdownRequestType_1.Selected.Value)))

  • DavidZed

    Membre
    12 janvier 2025 à 14h37

    en ce qui me concerne, je n’utilise plus de && / And() dans les fonctions filter, à la place je me contente de mettre plusieurs tests logiques, donc au lieu de :

    Filter( Source ; [Test logique 1] && [Test logique 1] && [Test logique 1] )

    je fais plutôt :

    Filter( Source ; [Test logique 1] ; [Test logique 1] ; [Test logique 1] )

    Et pour revenir à la question initiale du si le combobox est vide : on affiche tout, j’ai pris l’habitude d’ajouter également un IsEmpty() car parfois les combobox ont un IsBlank() = False si on déselectionne tous les éléments, donc pour reprendre la formule de Geoffroy, j’aurai tendance à mettre :

    Filter(‘Payment_Orders’,
    StartsWith(Requestor ,RequestorInput.Value) ;
    StartsWith(‘Order Number’,ON_Input.Value) ;
    Request Type’= DropdownRequestType.Selected.Value || IsBlank(DropdownRequestType.Selected.Value) || IsBlank(DropdownRequestType.SelectedItems) ;
    Status=DropdownRequestType_1.Selected.Value || IsBlank(DropdownRequestType_1.Selected.Value || IsEmpty(DropdownRequestType_1.SelectedItems)
    )

    Attention pour les dropdown classiques, il n’y a pas de propriété .SelectedItems il me semble

  • Ibra

    Membre
    12 janvier 2025 à 16h48

    Bonjour Geoffroy,

    Cela a marché. Merci beaucoup!!

  • Ibra

    Membre
    12 janvier 2025 à 16h58

    Bonjour DavidZed,

    Merci beaucoup pour la réponse!!!

Connectez-vous pour répondre.