Adventures with Power Apps: Fun with Galleries and Canvas Components

I’ve been on a big kick with Canvas Components as of late!

Next step, how might I approach a Canvas Component that would need to support a Gallery control?

To be honest, I wasn’t sure how I would do this, but I figured I’d give it a try and see if it was doable, and more importantly, easily doable. 🙂

The first thing I did was add a SharePoint List that I could use as my data source.

I clicked Site contents, the New and then List.

Figure 1 – Add SharePoint List

I clicked From Excel.

Figure 2 – Import Excel

I clicked Upload file and then selected the Excel file to import from my Downloads directory, which you can find at https://mattruma.com/wp-content/uploads/2024/05/Issues.xlsx.

The field Date Submitted didn’t get picked up as Date and time so I changed it to do so.

I clicked Next, and then finally Create.

Once my Issues list was imported and hopped over into Power Apps Studio and created a new Solution, which I called POC 10 Solution (Gallery Component), which you can find at https://mattruma.com/wp-content/uploads/2024/05/POC10SolutionGalleryComponent_1_0_0_0.zip.

I am not going to go through everything in the Canvas App, as I mentioned you can download 💾 it above and check it out yourself, I will, however, call out a couple of nuances.

The Component has an Input Property with the Display name of Data source and Name of Items that is of type Table.

On the Component, I set Items to the following:

I was running into some challenges with binding the Data source directly to the Component which is why I opted for the Table approach.

Figure 3 – Items Property

I added another Input Property called Edit Screen of type Screen so we can navigate the user to whatever the Screen is for editing when they selected an Item.

I can’t pass context in a Component, and I need some way for the Screen to know what Item is selected in the Gallery control, so I’ll had an Output Property to handle this.

I added an Output Property called Selected of type Record that returns the Item selected in the Gallery control.

Figure 4 – Selected Input Property

I set Items of the Gallery control to the Items of the Component.

Figure 5 – Gallery Items

I added the Component to the Screen and updated the properties for Edit Screen and Data source.

We will have to use a ForAll statement to map our Issues SharePoint List to a Table, which is what the Items property is expecting.

From there I built my navigation, which updates the value of gblSelectedTab to the current tab selected, which in turn is the Status we want to apply as a filter to the Issues.

I added an Edit Screen, called IssueEditScreen, that allows the user to edit the Requestor and Title for the selected Issue.

I ran the Canvas App and everything looks good!

Figure 6 – Finished Canvas App

I was in a pinch for time, so I would really encourage you to download the solution yourself at https://mattruma.com/wp-content/uploads/2024/05/POC10SolutionGalleryComponent_1_0_0_0.zip, and play around with it.

Just make sure to create that SharePoint List, remove the current SharePoint data source in the Canvas App and add the one you just created. ⚠️

If you have any questions, please don’t hesitate to ask, and if there is a better way, please please please share that as well!

Thanks!


Discover more from Matt Ruma

Subscribe to get the latest posts sent to your email.

Leave a Reply

Your email address will not be published. Required fields are marked *