cancel
Showing results for 
Search instead for 
Did you mean: 
Reply

Automatic filtering of dropdown and gallery based on SharePoint data

Description of the problem:

I am developing an app in PowerApps that is based on a SharePoint page (SP machine). On this page, a hall layout is displayed with buttons, each with the name of a machine (e.g. COM-ABC-01 and other machines). The column containing the machine names is called ‘MachineID’.

 

The desired behaviour is that when I click on one of these buttons in the hall layout, the app navigates to the ‘Screen_Overview’ screen. On this screen there is a dropdown menu (DropdownMachine) and a gallery (GalleryMachine).

After clicking on one of the buttons in the hall layout, the dropdown menu should automatically select the corresponding machine name and the gallery should only display the results for this selected machine.

 

Example:

If I click on the ‘COM-ABC-01’ button in the hall layout, the app should navigate to the ‘Screen_AuditFindings’ screen.
On this screen, the dropdown menu should automatically select ‘COM-ABC-01’.
The Gallery should only show the results for the machine ‘COM-ABC-01’.

 

I need assistance in implementing this behaviour in PowerApps.

 

@gcmfaizan @WarrenBelz @BCBuizer @RogierE 

2 ACCEPTED SOLUTIONS

Accepted Solutions
Robu1
Continued Contributor
Continued Contributor

Could you perharps share the screenshots of your app?

 

To achieve this behaviour in your Power Apps application, you can follow these steps:

  1. Create a Local Variable:

    • On each button click (e.g., COM-ABC-01, COM-ABC-02, COM-ABC-03), create a local variable using the UpdateContext function. For example:
      UpdateContext({varSelection: "COM-ABC-01"})
      Adjust the variable name and value according to the button clicked.
  2. Set Default Value on Screen Load:

    • In the OnStart property of your Screen2, set the default value for the variable. For example:
      UpdateContext({varSelection: "ALL"})
      This ensures that when the screen loads, the gallery initially displays all items.
  3. Filter the Gallery Items:

    • In the Items property of your gallery, use the filter function to filter the items based on the selected machine ID. For example:
      Filter(MachineDetail, MachineID = varSelection)
      Replace MachineDetail with the actual name of your SharePoint list.
  4. Dropdown Default Value:

    • Set the default value of your dropdown control to the same variable (varSelection). This way, when you navigate to Screen2, the dropdown will automatically show the selected machine ID.

By following these steps, your gallery will display the relevant items based on the button clicked, and the dropdown will reflect the selected machine ID. If you need further assistance or have any other questions, feel free to ask! 😊

For additional reference, you can also check out similar solutions from the Power Apps community here Solved: How to filter gallery list based on button click - Power Platform Community (microsoft.com)

View solution in original post

BCBuizer
Multi Super User
Multi Super User

Hi @Adinator ,

 

1. Yes

2. Indeed the OnVisible property should be used

4. Set the Default property of the drop down to varSelection



Did you like my post? Please give it a thumbs up! Did I resolve your issue? Please click Accept as Solution to close the topic and so other members of the community can find solutions more easily.

View solution in original post

7 REPLIES 7
Robu1
Continued Contributor
Continued Contributor

Hi @Adinator ,

 

Implementing this behavior in PowerApps involves filtering a gallery based on the selected machine name from a dropdown. Let’s break it down into steps:

  1. Dropdown Setup:

    • Create a dropdown control (let’s call it DropdownMachine).
    • Set the Items property of the dropdown to the list of machine names (e.g., Choices(DataSource.MachineID)).
  2. Gallery Setup:

    • Create a gallery control (let’s call it GalleryMachine).
    • Set the Items property of the gallery to filter the data source based on the selected machine name from the dropdown:
      Filter(DataSource, MachineID = DropdownMachine.Selected.Value)
  3. Navigation:

    • When a button (e.g., ‘COM-ABC-01’) is clicked in the hall layout, navigate to the desired screen (e.g., ‘Screen_AuditFindings’).
    • Before navigating, set the selected machine name in the dropdown:
      Set(DropdownMachine.Selected, {Value: "COM-ABC-01"})
    • The gallery will automatically update to show results for the selected machine.

Remember to replace DataSource with your actual SharePoint data source and adjust control names accordingly. This approach ensures that the gallery displays relevant data based on the selected machine name. If you encounter any issues or need further assistance, feel free to ask!

 

If this post helps, then Click on the Thumbs Up below and Accept it as the solution to help others.   Thanks,   Robu1.

Hi @Robu1 ,

 

thanks, but unfortunately I'm having problems implementing it.

 

When I try to do this, it shows me as an error:

That's what you told me:

Set the Items property of the gallery to filter the data source based on the selected machine name from the dropdown:

Filter(DataSource, MachineID = DropdownMachine.Selected.Value)

My Sharepointlist is called MachineDetails, and the column where the machine names are is called MachineID, I don't understand why this is an error.

 

2. where do I write this? It is the Items property of the gallery or Dropdown or Button?

Set(DropdownMachine.Selected, {Value: "COM-ABC-01"})

@WarrenBelz @Amik @mmbr1606 

Robu1
Continued Contributor
Continued Contributor

I apologize for the confusion. Let’s break this down better:

  1. Filtering the Gallery:

    • The code snippet you provided is correct for filtering a gallery based on the selected machine name from the dropdown. You should set the Itemsproperty of your gallery to the following expression:
      Filter(MachineDetails, MachineID = DropdownMachine.Selected.Value)
    • Make sure to replace MachineDetailswith the actual name of your SharePoint list and MachineID with the correct column name where the machine names are stored.
  2. Setting the Dropdown Value:

    • The code you mentioned (Set(DropdownMachine.Selected, {Value: "COM-ABC-01"})) should be placed in the OnSelect property of a Button control.
    • Here’s how you can do it:
      OnSelect = Set(DropdownMachine.Selected, {Value: "COM-ABC-01"})
    • Replace Button with the actual name of your button control.

Make sure to follow these steps, and it should work as expected. If you encounter any further issues or need additional assistance, feel free to ask! 😊

Hi @Robu1 

please show the pics

 

Adinator_0-1716921855688.png

 

 

Adinator_1-1716921900428.png

 

Let me explain the problem to you:
When you start the app, ‘ScreenHalllayout2’ appears
I have created 3 buttons and simply named them COM-ABC-01;COM-ABC-02; COM-ABC-03.
In Screen2 there is only a dropdown and a gallery.

These machine names are stored in Sharepoint.
The Sharepoint list is called MachineDetail, the column with the machine names like COM-ABC-01 is called MachineID.


If you click on the COM-ABC-01 button in ScreenHalllayout2, you want to navigate to Screen2 and automatically filter for COM-ABC-01 in dropdown and accordingly the gallery should display everything for COM-ABC-01. The same if you click on COM-ABC-03 in ScreenHalllayout should be filtered by COM-ABC-03 in dropdown and accordingly the gallery should display everything for COM-ABC-03.

Translated with DeepL.com (free version)

Robu1
Continued Contributor
Continued Contributor

Could you perharps share the screenshots of your app?

 

To achieve this behaviour in your Power Apps application, you can follow these steps:

  1. Create a Local Variable:

    • On each button click (e.g., COM-ABC-01, COM-ABC-02, COM-ABC-03), create a local variable using the UpdateContext function. For example:
      UpdateContext({varSelection: "COM-ABC-01"})
      Adjust the variable name and value according to the button clicked.
  2. Set Default Value on Screen Load:

    • In the OnStart property of your Screen2, set the default value for the variable. For example:
      UpdateContext({varSelection: "ALL"})
      This ensures that when the screen loads, the gallery initially displays all items.
  3. Filter the Gallery Items:

    • In the Items property of your gallery, use the filter function to filter the items based on the selected machine ID. For example:
      Filter(MachineDetail, MachineID = varSelection)
      Replace MachineDetail with the actual name of your SharePoint list.
  4. Dropdown Default Value:

    • Set the default value of your dropdown control to the same variable (varSelection). This way, when you navigate to Screen2, the dropdown will automatically show the selected machine ID.

By following these steps, your gallery will display the relevant items based on the button clicked, and the dropdown will reflect the selected machine ID. If you need further assistance or have any other questions, feel free to ask! 😊

For additional reference, you can also check out similar solutions from the Power Apps community here Solved: How to filter gallery list based on button click - Power Platform Community (microsoft.com)

Hi @Robu1 


1. do I put the formula in the OnSelect property of the buttons?

2. screen2 has no OnStart property but only OnHidden and OnVisible. What should I do?

4. what do I write as a formula in the dropdown?

 

BCBuizer
Multi Super User
Multi Super User

Hi @Adinator ,

 

1. Yes

2. Indeed the OnVisible property should be used

4. Set the Default property of the drop down to varSelection



Did you like my post? Please give it a thumbs up! Did I resolve your issue? Please click Accept as Solution to close the topic and so other members of the community can find solutions more easily.

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!   This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions in the Forums to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersNumber of SolutionsSuper UsersNumber of Solutions @anandm08  23 @WarrenBelz  31 @DBO_DV  10 @Amik  19 AmínAA 6 @mmbr1606  12 @rzuber  4 @happyume  7 @Giraldoj  3@ANB 6 (tie)   @SpongYe  6 (tie)     Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersSolutionsSuper UsersSolutions @anandm08  10@WarrenBelz 25 @DBO_DV  6@mmbr1606 14 @AmínAA 4 @Amik  12 @royg  3 @ANB  10 @AllanDeCastro  2 @SunilPashikanti  5 @Michaelfp  2 @FLMike  5 @eduardo_izzo  2   Meekou 2   @rzuber  2   @Velegandla  2     @PowerPlatform-P  2   @Micaiah  2     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 3:Community MembersSolutionsSuper UsersSolutionsPower Apps anandm0861WarrenBelz86DBO_DV25Amik66Michaelfp13mmbr160647Giraldoj13FLMike31AmínAA13SpongYe27     Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 4:Community MembersSolutionsSuper UsersSolutionsPower Apps DBO-DV21WarranBelz26Giraldoj7mmbr160618Muzammmil_0695067Amik14samfawzi_acml6FLMike12tzuber6ANB8   SunilPashikanti8

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages