web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Apps
Unanswered

toggle in gallery

(0) ShareShare
ReportReport
Posted on by 16
I have a gallery that displays values from a SharePoint list. The behavior I want to achieve is as follows:
  1. When a user checks Toggle1, Toggle2 should be set to DisplayMode.Disabled.
  2. Conversely, when a user checks Toggle2, Toggle1 should be set to DisplayMode.Disabled.

Here’s what I’ve implemented:

  • In Toggle2.DisplayMode: "If(Toggle1.Value=true;DisplayMode.Disabled;DisplayMode.Edit)"
  • In Toggle1.DisplayMode: "If(Toggle2.Value=true;DisplayMode.Disabled;DisplayMode.Edit)"

When I test this in Play Mode by checking Toggle1 for the first item in the gallery, I get the following results:

  • Toggle2 for Item 1 of the gallery is correctly disabled.
  • Toggle2 for Items 2 and 3 of the gallery are still in Edit Mode (as expected).
  • Problem: Toggle2 for all other items in the gallery are disabled, but they should also be in Edit Mode.

Surprising Behavior:

If I reload the site and only check Toggle1, the same issue persists.

However, if I reload the site and first scroll down a few items and then go back up to check Toggle1 for item 1 of the gallery, then all the toggles for the items I scrolled to remain in Edit Mode, while the toggles for the items I did not scroll to are disabled.

 

(By the way: Actually, I want to use a Patch function when using the toggle. However, the same behavior occurs there: When I check the toggle for item 1, all toggles for all items that I did not scroll to also become checked, and SharePoint registers entries as if the user had checked all those toggles for all those items.)

 

Glad if somebody is able to find a solution.

Categories:
I have the same question (0)
  • Pstork1 Profile Picture
    69,016 Most Valuable Professional on at

    If you aren't tracking the value of Toggle1 and Toggle2 in the data source then the value for each Toggle will be the same for every record in the gallery. You are repeating the same control. I'm not sure why toggle2 is staying in Edit mode for items 2 and 3. It should be disabled in all records after disabling in the first. If you are tracking the value in the list then you need to use thisItem.column to set Edit or disabled. That will tie it to the individual item.

  • PhiReMan Profile Picture
    16 on at

    I’m uncertain if I understand you correctly:

     

    Are you suggesting that all the toggles in every item of a gallery should behave uniformly? In other words, if I check one toggle in a specific gallery item, should all toggles across all items in the gallery also get checked? This doesn’t align with my previous experiences—I’ve used the same functionality in other apps, and it worked correctly.

     

    Regarding your mention of ‘tracking the value of Toggle 1 in the datasource,’ could you clarify? Are you suggesting that I create a new column (perhaps named ‘Toggles’) in my SharePoint list, which feeds the gallery? However, this approach might not be feasible because the toggles depend not only on the entries in the SharePoint list but also on individual users.

    Alternatively, I could create a new datasource containing all possible combinations of users and SharePoint list entries to store toggle values. However, this seems like a significant effort for something that has worked seamlessly in my other apps.

  • Pstork1 Profile Picture
    69,016 Most Valuable Professional on at

    Not quite. I am suggesting that if you add one toggle control to the gallery template, that will add the same toggle control to each record in the gallery. For that one toggle control they will all be tied together unless you link them to something in the data source behind the gallery.  If you don't do that then when you toggle the control in the first gallery item, it will be reflected in all the rest.  To avoid this you need to have a field in the data source that is tied to the value of the control. That way it can have a different value for each record. That is the way its designed to work.

  • Pstork1 Profile Picture
    69,016 Most Valuable Professional on at

    OK, I just did some testing and you are correct. Its been a while since I tried this and it never used to work this way. I still can't explain what you are seeing.  In my test the display modes for each set of toggles in the record operate as you expect them to.

  • PhiReMan Profile Picture
    16 on at

    I was able to create a workaround for the problem. Below are the details. But let me first describe another way the problem manifests:

    Given the following:

    • a SharePoint list ("Test") with 20 entries.
    • a Gallery referencing this list. The template is large, showing only the first item of the Gallery practically. Therefore, scrolling down is necessary to see the other 19 items.
    • a Toggle in the Gallery's template.
    • a Label in the Gallery's template displaying Text=Toggle1.Value.

    When the Toggle in the first Gallery item is set to true, its Label shows true (as expected). While scrolling down, the following two Labels show false (as expected because their Toglle has not been set to true). However, all other Labels in the remaining 17 items display true, despite the adjacent Toggle being set to false.

    However, if one scrolls to the bottom after starting the app and then back up, and only then sets the Toggle in Item 1 to true, only the first Label shows true, while all others display false. In this case, the app behaves as expected.

     

    So, my workaround looks like this: In the OnChange property of the Toggle, I create a context variable storing the ID of the item located at the bottom of the Gallery that was edited:

    If(ThisItem.ID > MaxId, UpdateContext({MaxId: ThisItem.ID}), false)

    This way, the app knows how far down the user has scrolled at least. In the Label's text, I write:

    If(ThisItem.ID <= MaxId, Toggle1.Value, false)

    This means that only the Labels in the items that the user has scrolled to will display the value of their Toggle. All other Labels show false because the user hasn't scrolled down to those yet.

    Perhaps you might have a better solution in mind?

    Thank you for the support.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Leaderboard > Power Apps

#1
Haque Profile Picture

Haque 85

#2
WarrenBelz Profile Picture

WarrenBelz 76 Most Valuable Professional

#3
Kalathiya Profile Picture

Kalathiya 38 Super User 2026 Season 1

Last 30 days Overall leaderboard