cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Helper III
Helper III

Changing a value for all items in a gallery

Hi all,

 

 

Capture

So I'm building an app where a user might enter in multiple staff for a unit. I have it so that, once submitted, they can edit the entry in-line. The OnChange properties of the gallery controls are set to patch on changing so that someone doesn't have to start all over again. 

 

However, I want it so that if someone change either the Unit Credits of # Students in one row, it changes for all of them. I can't seem to make that work. 

The other option is to set both of them from the entry box above, and if someone needs to change it, it cascades down into the submitted entries for that unit. However, I can't seem to make that work either. I've tried using ForAll to loop through the gallery (which is pre filtered based on what is in the Unit Name box)  when the #Student value is changed at the top, and for each entry in the gallery alter the #Students value. 

 

ForAll(
    'TA Unit Gallery_1'.AllItems,
    Patch(
        'Unit List',
        LookUp(
            'Unit List',
            ID = Value('TA Gal ID_1'.Text)
        ),
        {'Number of Students': 'TA - Value - # Students_1'}
    )
)

 

Any ideas?

2 REPLIES 2
Highlighted
Helper III
Helper III

Re: Changing a value for all items in a gallery

Bumping this!

Highlighted
Dual Super User III
Dual Super User III

Re: Changing a value for all items in a gallery

Hey @EpicTriffid 

 

Can you try to use the formula on the top Text Inputs for Students and Unit Credits as:
 
Students:
ForAll('TA Unit Gallery_1'.AllItems,
    Patch(
        'Unit List',
        LookUp(
            'Unit List',
            ID = Value('TA Gal ID_1'.Text)
        ),
        {'Number of Students': Value(TextInput1.Text)}  
    )
)
Here TextInput1 is the name of textinput for students.
 
Unit Credits:
ForAll('TA Unit Gallery_1'.AllItems,
    Patch(
        'Unit List',
        LookUp(
            'Unit List',
            ID = Value('TA Gal ID_1'.Text)
        ),
        {UnitCredits: TextInput1_1.Text}
    )
)
Here TextInput1 is the name of textinput for UnitCredits.

If you want to make the change if any item is updated in the gallery too, then use:
 
Students: 
Set(NewNumberofStudents,TextInput1_2.Text);
ForAll('TA Unit Gallery_1'.AllItems,
    Patch(
        'Unit List',
        LookUp(
            'Unit List',
            ID = Value('TA Gal ID_1'.Text)
        ),
        {'Number of Students': Value(NewNumberofStudents)} 
    )
)
 
Unit Credits:
Set(NewUnitCredits,TextInput1_3.Text);
ForAll('TA Unit Gallery_1'.AllItems,
    Patch(
        'Unit List',
        LookUp(
            'Unit List',
            ID = Value('TA Gal ID_1'.Text)
        ),
        {UnitCredits: NewUnitCredits}
    )
)
 
If this differs, please share a more explanatory description of the scenario that you are trying to achieve.
 
Hope this Helps!
 
If this reply has answered your question or solved your issue, please mark this question as answered. Answered questions helps users in the future who may have the same issue or question quickly find a resolution via search. If you liked my response, please consider giving it a thumbs up. THANKS!

Helpful resources

Announcements
secondImage

New Return to Workplace

Reopen responsibly, monitor intelligently, and protect continuously with solutions for a safer work environment.

Experience what’s next for Power Apps

Join us for an in-depth look at the new Power Apps features and capabilities at the free Microsoft Business Applications Launch Event.

Check this Out

Helpful information

Featuring samples like Return to the Workplace and Emergency Response Applications

secondImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

Top Solution Authors
Top Kudoed Authors
Users online (6,882)