web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Select Item in Gallery...
Power Apps
Answered

Select Item in Gallery OnSelect

(0) ShareShare
ReportReport
Posted on by

When I insert a button into a Gallery, the OnSelect property of the button is automatically set to Select(Parent). I don't want a button in every row of my vertical Gallery. 

 

Instead I want user to click the row of the Gallery, then click a button outside the Gallery to execute OnSelect functions.

 

How do I reference a Gallery row and all its contents when clicked? 

 

Thanks

Categories:
I have the same question (0)
  • CarlosFigueira Profile Picture
    on at

    You cannot reference directly an arbitrary row in the gallery (*), but you can reference the selected row in that gallery via the Selected property.

     

    Take a look at the attached app; the Selected property in the gallery contains the entire object that is bound to that row, so you can access its properties outside the gallery.

     

    (*) You can also access an arbitrary row in the gallery (by index) using the AllItems property of the gallery, and the FirstN/Last functions to retrieve the item at the desired index.

  • Community Power Platform Member Profile Picture
    on at

    Thank you @CarlosFigueira. When trying to import the app you sent I get: 

     

    2018-07-02_10-26-03.png

  • CarlosFigueira Profile Picture
    on at

    I saved the app as a .msapp file and compressed it. If you uncompress it, then open that file, you should be able to see it.

  • Community Power Platform Member Profile Picture
    on at

    Hm. Yeah I associated .msapp files with VS Code because I was dissecting / debugging them. I'm not sure how to reassociated them with PowerApps as its a web app and not stored locally (that I know of). 

     

    I can't seem to use "Open With" and select PowerApps as I can't find it on my local machine. 

  • CarlosFigueira Profile Picture
    on at

    If you are in the PowerApps Studio, you can select Open -> Browse, then select the file to be opened.

     

    OpeningMsappFile.gif

  • Community Power Platform Member Profile Picture
    on at

    Got it. Ok, so now I see what you are doing: 

     

    • Create a Collection OnSelect of Button1
    • Display Collection in the Gallery
    • Displaying an item in the Gallery OnSelect of Button2

     

    Hm. I'm not sure this translates to my use case. 

     

    • I have a Gallery based on a Sharepoint list
    • Each record in the Sharepoint list is a partially completed Form
    • I want to click the Gallery row, then click a Button outside the Gallery
    • And have the selected form display on the next screen

    User would then complete the remaining fields of the form, click Submit and I'll either Patch or SubmitForm from there. Can you show me how to translate your solution to that end? 

     

     

  • Shanescows Profile Picture
    2,218 Most Valuable Professional on at

    Eric - In this video I show you how to make the whole row in the Gallery selectable.  Which I think gets you where you want to go. Really, if you haven't watched my whole series on Repeating Tables in PowerApps I think you would enjoy it.

  • Verified answer
    CarlosFigueira Profile Picture
    on at

    In your case, you would have the gallery Items property set to your SharePoint list, then when you click the button outside that gallery, you would have an expression similar to the one below:

    Navigate(
     EditScreen,
     ScreenTransition.Fade,
     { itemToEdit: Gallery1.Selected });
    EditForm(EditForm1)

    On the other screen, you would have the edit form control (called EditForm1) with the DataSource property set to the same SharePoint list, and the Item property set to 'itemToEdit'. When the user clicks the button, it will navigate to the second screen, passing to the context of that screen the value of the selected item in the gallery (in the variable called 'itemToEdit'). When that value is set as the Item property of the form, then the object properties will be displayed so that the user can continue filling the values for the properties.

  • Community Power Platform Member Profile Picture
    on at

    Ok. I'm getting there. @Shanescows, the video was helpful. 

     

    • I'm now able to select a row in the Gallery
      • Changed Template fill to: 
        • If(
          ThisItem.IsSelected,
          blue,
          gray)
      • Changed OnSelect to: 
        • UpdateContext({varHasBeenSelected: true})
    • I'm having trouble with the Form showing the selected Row. 
      • So far I've tried setting the Form Item Property to the three options below, but no success:
        • Filter(
           'Sharepoint List',
           ID = gallery.Selected.ID)
          • Error: This expects Record values but produces incompatible Table values.
        • gallery.Selected
          • No Error, but all Form fields are blank. 
        • varHasBeenSelected
          • Error: Invalid Formula. Expected a value compatible with 'Data Source'.
    • Any other ideas? I don't want to use two Galleries, just the one. 

    Thanks! 

  • CarlosFigueira Profile Picture
    on at

    A few options to fix the issues that you have:

    • I'm having trouble with the Form showing the selected Row. 
      • So far I've tried setting the Form Item Property to the three options below, but no success:
        • Filter(
           'Sharepoint List',
           ID = gallery.Selected.ID)
          • Error: This expects Record values but produces incompatible Table values.

    Try using a LookUp call instead of Filter - that will return the item itself, instead of a list of items (with 1 element).

    • gallery.Selected
      • No Error, but all Form fields are blank. 

    That should work - the gallery selection is an object, and if the Items property of the gallery has the same data source as the DataSource property of the form, then it should work. Another thing you can try to do is to call EditForm(FormName) prior to the Navigate call.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 711 Most Valuable Professional

#2
Michael E. Gernaey Profile Picture

Michael E. Gernaey 319 Super User 2025 Season 2

#3
Power Platform 1919 Profile Picture

Power Platform 1919 268

Last 30 days Overall leaderboard