cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Anonymous
Not applicable

Gallery.AllItems with ForAll / Collect Question

I'm having an issue with a Gallery and saving the items in the Gallery to a collection (or I'm just doing it wrong).  I load a Gallery and filter it based on user selected value. Here you can see there are 3 items in the gallery (confirmed by the count of Gallery.AllItems)

Gallery.png

The Save All button has the following code which is causing an issue:

//Create collection with modified equipment information
Clear(ModifiedCollection);

ForAll(EquipmentGallery_DetailsScreen.AllItems,
    Collect(ModifiedCollection, 
        {
            RequestID: EquipmentGallery_DetailsScreen.Selected.RequestID,
            ID: EquipmentGallery_DetailsScreen.Selected.ID,
            AssetID: EquipmentGallery_DetailsScreen.Selected.AssetIDTextboxInput_DetailsScreen.Text,
            VIN: EquipmentGallery_DetailsScreen.Selected.VINTextboxInput_DetailsScreen.Text,
            Vendor: EquipmentGallery_DetailsScreen.Selected.VendorTextboxInput_DetailsScreen.Text,
            IsPending: !(EquipmentGallery_DetailsScreen.Selected.IsPendingToggle_DetailsScreen.Value),
            FulfilledBy: If( !(EquipmentGallery_DetailsScreen.Selected.IsPendingToggle_DetailsScreen.Value) = false, varCurrentUser.Email),
            FulfilledDate: If( !(EquipmentGallery_DetailsScreen.Selected.IsPendingToggle_DetailsScreen.Value) = false, conDateTime),
            IsAssetIDAssigned: If(IsBlank(EquipmentGallery_DetailsScreen.Selected.AssetID), false, true)
        }
    )
);

I was expecting the ForAll to loop over all the items in the Gallery and add the field values to the collection.  However, this is what I get instead.  The first item in the Gallery added 3 times.

Collections.pngWhat am I doing wrong? How do I save the filtered items in the Gallery to a new collection? Thanks!

1 ACCEPTED SOLUTION

Accepted Solutions
Anonymous
Not applicable

Nevermind, it was a problem between the chair and the keyboard. I copy/pasted the code from the individual save button and I forgot to remove the .selected reference. The correct code is:

 

orAll(EquipmentGallery_DetailsScreen.AllItems,
    Collect(ModifiedCollection, 
        {
            RequestID: RequestID,
            ID: ID,
            AssetID: AssetIDTextboxInput_DetailsScreen.Text,
            VIN: VINTextboxInput_DetailsScreen.Text,
            Vendor: VendorTextboxInput_DetailsScreen.Text,
            IsPending: !(IsPendingToggle_DetailsScreen.Value),
            FulfilledBy: If( !(IsPendingToggle_DetailsScreen.Value) = false, varCurrentUser.Email),
            FulfilledDate: If( !(IsPendingToggle_DetailsScreen.Value) = false, conDateTime),
            IsAssetIDAssigned: If(IsBlank(AssetID), false, true)
        }
    )
);

View solution in original post

1 REPLY 1
Anonymous
Not applicable

Nevermind, it was a problem between the chair and the keyboard. I copy/pasted the code from the individual save button and I forgot to remove the .selected reference. The correct code is:

 

orAll(EquipmentGallery_DetailsScreen.AllItems,
    Collect(ModifiedCollection, 
        {
            RequestID: RequestID,
            ID: ID,
            AssetID: AssetIDTextboxInput_DetailsScreen.Text,
            VIN: VINTextboxInput_DetailsScreen.Text,
            Vendor: VendorTextboxInput_DetailsScreen.Text,
            IsPending: !(IsPendingToggle_DetailsScreen.Value),
            FulfilledBy: If( !(IsPendingToggle_DetailsScreen.Value) = false, varCurrentUser.Email),
            FulfilledDate: If( !(IsPendingToggle_DetailsScreen.Value) = false, conDateTime),
            IsAssetIDAssigned: If(IsBlank(AssetID), false, true)
        }
    )
);

View solution in original post

Helpful resources

Announcements
New Badges

New Solution Badges!

Check out our new profile badges recognizing authored solutions!

New Power Super Users

Congratulations!

We are excited to announce the Power Apps Super Users!

Power Apps Community Call

Power Apps Community Call: February

Did you miss the call? Check out the Power Apps Community Call here.

Microsoft Ignite

Microsoft Ignite

Join digitally, March 2–4, 2021 to explore new tech that's ready to implement. Experience the keynote in mixed reality through AltspaceVR!

Top Solution Authors
Top Kudoed Authors
Users online (53,137)