cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Ardions
Helper I
Helper I

Add a select all searchbox that triggers Oncheck

I would like to have a Select all check box in connection with my gallery.

At the moment I have a checkbox in the gallery (named: CB-gallery) and a checkbox outside the gallery to fill the purpose of select all (named: CB-checkall). 
I can change the default of CB-gallery to CB-checkall.Value  and visually the checkboxes in the gallery will change but it won't trigger the actions I need.

Here are the properties of CB-gallery:
OnCheck:        Patch(col_patchAllnewappro, ThisItem, {IsChosen1:true})
OnUncheck:    Patch(col_patchAllnewappro, ThisItem, {IsChosen1:false})
Default:           ThisItem.IsChosen1

And I have a button to patch the selected items:
OnSelect: ForAll(RenameColumns(Filter(col_patchAllnewappro,IsChosen1),"ID","EID"),Patch('Quality evaluator',LookUp('Qualityevaluator',ID = EID),{'Team lead': btn_choose_TL.Selected},{'Status approval request': "Pending"}));Notify (
"All selected agents have been re-assigned a new Team Lead",Success,4000);Reset ('btn-choose-tl')

Long story short, I want that when I click on my select all button, not only my galleries checkboxes are ticked but also that I can trigger the Oncheck and OnUncheck in addition to what I already have that is to do it to selected employees.

Can you help?

1 ACCEPTED SOLUTION

Accepted Solutions
RandyHayes
Super User III
Super User III

@Ardions 

Please consider changing your button Formula to the following:

Patch('Quality evaluator',
    ForAll(Filter(yourGallery.AllItems, CB-gallery.Value) As _item,
        {ID: _item.ID,
         'Team lead': btn_choose_TL.Selected,
         'Status approval request': "Pending"
        }
    )
);
Notify ("All selected agents have been re-assigned a new Team Lead",Success,4000);
Reset ('btn-choose-tl')

 

Change the Default of the checkbox to: cB-checkall.Value

 

Get rid of all the OnCheck and OnUncheck and collections, you don't need any of this for what you are trying to do.

Just substitute the appropriate names in the formula above to match your control names in your app.

 

I hope this is helpful for you.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

View solution in original post

8 REPLIES 8
RandyHayes
Super User III
Super User III

@Ardions 

Please consider changing your button Formula to the following:

Patch('Quality evaluator',
    ForAll(Filter(yourGallery.AllItems, CB-gallery.Value) As _item,
        {ID: _item.ID,
         'Team lead': btn_choose_TL.Selected,
         'Status approval request': "Pending"
        }
    )
);
Notify ("All selected agents have been re-assigned a new Team Lead",Success,4000);
Reset ('btn-choose-tl')

 

Change the Default of the checkbox to: cB-checkall.Value

 

Get rid of all the OnCheck and OnUncheck and collections, you don't need any of this for what you are trying to do.

Just substitute the appropriate names in the formula above to match your control names in your app.

 

I hope this is helpful for you.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

View solution in original post

Hi @RandyHayes,
Thank you for your reply.

The thing is, I want to be able to Patch all item as well as specific selected ones, that's why I have the collection and Check and Uncheck triggers. So changing the button would not solve the whole problem.

RandyHayes
Super User III
Super User III

@Ardions 

Can you elaborate on what you mean?  The formula you originally posted had no other factors other than what the method you had of putting checked isChosen boolean values in a collection and then you Filtered by that condition - so what else were you expecting that the provided suggestion does not solve?

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

@RandyHayes 
At the moment, the process is:
I choose a manager with the help of a ComboBox and then in my gallery I choose which employees will be assigned to that manager. The checkboxes now are my indicator of which specific items I should update.
I still want to be able to do it. Plus to do the same action with all employees in the gallery when selecting all.

I hope it's clear

RandyHayes
Super User III
Super User III

@Ardions 
Yes...the formula I provided will do exactly that...change records in your list based on the checkbox checked.

Your items in the gallery will be based on your combobox.  So it will only have the items based on that condition.

If you click select all, all of the checkboxes in your Gallery (again, based on the filter) will become checked.  If you do single selections of the checkboxes then you'll have some checked and some not.

 

When you press the button, it will filter all the rows in the gallery that have the checkbox checked and will patch them back to your list with the change you want made.

This part of the formula does that:  Filter(yourGallery.AllItems, CB-gallery.Value)

That returns a table of all of the gallery items that have the checkbox checked.

It then patches the record back to the item that matches that ID in your list:

{ ID: _item.ID,  this is needed to match the record  
'Team lead': btn_choose_TL.Selected,   This will update the Team lead column
'Status approval request': "Pending"  This will change the status to pending
}

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes
Ardions
Helper I
Helper I

@RandyHayes 

Alright, thank you for clarifying it. I'm still new to this.

RandyHayes
Super User III
Super User III

@Ardions 

No worries.  Just keep in mind that all of your controls in your app are globally accessible in the app. 

They contain information that you can leverage without variables and collections (which quite honestly completely overcomplicate, confuse and frustrate most people starting out - and they're usually not needed).  There are places for all those things, but not when you already have what you need.

A collection is a Table that YOU must maintain (adding, removing, changing etc.)  A Gallery is a Table that changes dynamically based on interaction with it (in this case checkboxes) and its filter of the Items.

SO...it is a Table that you DON'T have to maintain like a collection.  It has what you need.

You can filter it, shape it and more without ever needing anything else. 

In this case, we filtered the Table based on the checkboxes (which all become, along with everything else you put in the gallery, part of the record of the gallery table).   From that, we did a Patch statement and gave it a table of records to patch (we used the ForAll to give us a table to patch back...which is what it does- makes tables).

That table that was made in the ForAll has three columns in it, the ID (needed to match a record in your list), the team lead column and the status column. 

 

So...at the end of it all we basically did a Patch with a table of three columns that had as many rows as were checked from the gallery.

 

Hopefully that is clear and helpful. 

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes
Ardions
Helper I
Helper I

@RandyHayes this worked greeeeeat for the patching. Thank you so much.
I'm having troubles now with my Delete button. Previously I was using the collection to look up my selected items and remove them.
Is that a way to use your suggestion to delete items selected by my check all box?

Thanks again

Helpful resources

Announcements
PA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

secondImage

Demo Extravaganza Winner Announcement

Please join us on Wednesday, July 21st at 8a PDT. We will be announcing the Winners of the Demo Extravaganza!

V3_PVA CAmpaign Carousel.png

Community Challenge - Giveaways!

Participate in the Power Virtual Agents Community Challenge

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

Top Solution Authors
Top Kudoed Authors
Users online (1,759)