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

How to populate image from one gallery to another by clicking a button on selected card that has that image filed?

I am builing a powerapp with a gallery of individual cards. Each crd represents a specific items.  Within this card there is a number of data fileds that pull from a sharepoint list.  I want the user to be allowed to click thre of these cards for comparison.  I have created another page with overlay bar to populaye as they click on the cards they want to compare.  What I can not figure out is how to link the compare button on the original card to populate the image and title fields on the new gallery card i created to the selected overlay page.

1 ACCEPTED SOLUTION

Accepted Solutions
RandyHayes
Super User
Super User

@glucero1975 

So, what type of column are the image columns defined as in your list?

I'm not entirely sure I am understanding what these other screens are in your app.  Are you not just showing the compare bar over (or someplace) on the screen you are on?

 

If you want to test things out though, you can put in a blank screen and put in 2 Galleries.

On one gallery, set the items property to your list the same as you have for Gallery1.  Then for the second gallery on the test screen, set the Items property to thefirstNewGalleryName.AllItems

 

Then in the first gallery, put an image control and set it to that image column.

Then in the second gallery, put an image control and set it to ThisItem.theImageControlNameInTheFirstGallery.Image

You *should* now essentially have two galleries that show the same images, except the second gallery is getting its image from the first.

You can also simply use ThisItem.'SoS Image' on the image in the second gallery as well.

 

I provide the above as a baseline...what I mentioned should give you the exact results.  If it does not, then we need to investigate that column a little more.

_____________________________________________________________________________________
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.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

View solution in original post

16 REPLIES 16
RandyHayes
Super User
Super User

@glucero1975 

You need to reference the image control of your first gallery in context of the gallery itself.

Not knowing your second gallery Items property, I will suggest that it should be:

   Filter(firstGallery.AllItems, chkCompare.Value)

Then in your second gallery template, you would reference ThisItem.imageFromFirstGallery

 

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.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!
glucero1975
Helper III
Helper III

Thank you.  I am fairly new so would this context work:

Filter(SoS_Card_Gallery1_1.AllItems, chkCompare.Value)

ThisItem.'SoS Img'

 

and since the gallery repeates itself based on the number of sharepointlist items, would the image populate based on that cards comapre button?  I ask because the gallery is all one structure.  

RandyHayes
Super User
Super User

@glucero1975 

Well, sorta kinda...not really!   

The sorta part - your Items property of the Gallery2 would be pretty much as you say.  However, it appears you have a button to do the compare selection.  I would advise a checkbox instead (even if it is disguised as a button).  This will make it much easier as a button will not retain state and then you will be writing a bunch of formulas to try to simulate the state of it.  A checkbox will do all of that for you.

 

The Kinda part - if 'SoS Img' is the name of the Image column from your gallery 1 Items records, then that is fine.  You can also directly reference the Image4 control that you have in gallery 1.  i.e.  ThisItem.Image4.Image

 

The Not Really part - ... not really sure if this is where you are trying to go with this.  But there are a couple more things to consider with the checkbox concept, such as limiting the number of items you want to compare.  It appears that 3 is the max you want.  So, in this case, I would utilize the DisplayMode property on the checkbox to disable all others if 3 are checked (while not disabling the ones that are checked).

_____________________________________________________________________________________
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.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

Ok.  So here is where I am.  I converted button to checkbox.  Actually for right now I just added a checkbox as well to gallery.  I set check box displymode to limit only 3 items to be selected. 

If(Self.Value || (Value(CountLabel.Text)=2)|| (Value(CountLabel.Text)=1) || (Value(CountLabel.Text)=0), DisplayMode.Edit, Disabled)

 

When I play app, it disables all other cards in gallery after the third box is checked.  Exactly what I wanted.  So now we are back to the same question.  How do I get the comapre bar to populate image and title from the card when the check box is selected.  Example.  I check on check box, and that image and title will populate image and title field in first gallery on comapre bar.  Then this will apply for the next 2 check boxes for a total of 3 items?

RandyHayes
Super User
Super User

@glucero1975 

Very good!  It appears that you created a label outside of the gallery called CountLabel that most likely has a formula on the text of:  CountRows(Filter(gallery1.AllItems, chkCompare.Value))

 

You can slightly simplify your displayMode formula on the check box control in the gallery to:

   If(Self.Value || (Value(CountLabel.Text)<3), DisplayMode.Edit, Disabled)

 

Now, your Items property for Galery2 should be:

   Filter(Gallery1.AllItems, chkCompare.Value)

That will give you a table of all the checked for compare items.

 

I am a little confused on your Gallery2 items though.  It appears that there are three different looking rows of your Gallery.

I had assumed you were using a horizontal gallery for gallery2 to show the three items and that the gallery and rows were essentially this:

RandyHayes_0-1638209032751.png

But the first block looks much different than the second block.

SO...perhaps I am not understanding what you have going on for Gallery2.  Can you clarify a bit for me?

_____________________________________________________________________________________
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.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

yes.  I was currious as to if each one needed to be its own galery or just one that spanned horizontally. Isthat the better option? I think I went with 3 idividual as I was not getting the look I wanted at the time.

 

RandyHayes
Super User
Super User

@glucero1975 

Always reduce the amount of controls you use when you can!

In this case (as I see it from a PowerApp designer standpoint) I see in your "compare bar" a large label that creates the background and border of the box.  Then a horizontal Gallery on top of that and then the additional labels, icon and button on the right.

 

RandyHayes_0-1638209944226.png

 

In that case, the horizontal gallery would then have the Items formula mentioned, and also the Image and Text label as you have shown.

_____________________________________________________________________________________
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.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!
glucero1975
Helper III
Helper III

Still can not get images to fill gallery on comapre bar page? 

glucero1975
Helper III
Helper III

Once I have selected the items from the first gallery, do I need to create a collection for OnCheck so only those items will fill the comapre gallery on second page?

 

Helpful resources

Announcements
Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

May UG Leader Call Carousel 768x460.png

June User Group Leader Call

Join us on June 28 for our monthly User Group leader call!

PA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

This training provides practical hands-on experience in creating Power Apps solutions in a full-day of instructor-led App creation workshop.

PA.JPG

New Release Planning Portal (Preview)

Check out our new release planning portal, an interactive way to plan and prepare for upcoming features in Power Platform.

Top Solution Authors
Users online (1,464)