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

Gallery .selected and Set(var, ThisItem) not working?

Hello!

 

I've been doing the Gallery.selected and set(var,ThisItem) for most of my implementations but for this one project that I have, it doesn't seem to work. My objective is to be able to edit the selected item in the edit screen. I passed the Gallery.Selected data to a variable (see below my steps)

 

  1. Main Menu Screen

    001 - Main Menu.png

     

  2. Details Screen

    Note here that I created a Gallery to list down the Selected item and it is displaying correctly (I only displayed the ID and name just to test it ou)
    002 - Details Screen.png

     

  3. Edit Screen

    Note here as well that the Edit SYS-1002 Test with Integrations is working but doesn't seem to get the form data
    003 - Edit Screen.png

     
    Even if the label was able to get the data, the Form doesn't. Also, my Form is in Edit mode. Not sure if it should be in New mode, but otherwise, let me know.

 

Hope someone can chime in on this concern. Thanks!

1 ACCEPTED SOLUTION

Accepted Solutions

@hexarthrius watching that video I think I can see the error. Your form gets the data then gets reset (see pics)

 

Gets data (approx 8sec mark):

EditForm_notWorking01.png

 Then gets reset (approx 9sec onwards)

EditForm_notWorking02.png

 

My guess is that the OnVisible of the screen is resetting the Form to New mode ... or some other function is doing that. You could also have a check on the Default property of the form to see if that is causing the issue.

 

View solution in original post

11 REPLIES 11
Super User III
Super User III

Hello @hexarthrius ,

I have had some interesting issues in the past trying to use a variable as the source of a data set which I then want to interact directly with the data source or refer to it as you are for another set.

This does probably not answer your question, but as the source of all my selection galleries are all collections, I always use

Lookup(DataSource, ID = Gallery.Selected.ID)

for the Item of the form as you are then placing the actual record on the form for reference. I am sure others may have something to contribute as well.

 

I will tag a few of my knowledgeable colleagues @mdevaney , @Eelman and @PowerAddict 

Hi @WarrenBelz,

 

I appreciate the response and will await other people's feedback on this as well. It's just that I wonder what is different on what I do here now against the other apps I made with the same logic. Also, based on your code snippet, I assume that's not yet the full code to get the record since it's just ID, right? It's like you're making a collection and looking up the ID to reference the collection?

 

 

Yes @hexarthrius ,

I do all my filtering, sorting and "distincting" for my initial gallery and also all DropDown/ComboBox content in a bunch of Collections at App OnStart. I am fortunate that we do not require any working sets over 2000 items (larger sets are filtered with delegable queries), so all delegation issues instantly disappear, meaning Date, Not, In and other problem queries simply work. As well, the dropdown response and gallery search speed is very good.

The gallery set collected is from the reference list, using ShowColumns to grab only the fields I need to display and together with Concurrent collection loads very fast, even on mobile devices and as you have queried, always includes the ID of the list item. Then for the form I only have to grab one record matching the ID of what is selected in the gallery.

 

Super User
Super User

@WarrenBelz thanks for the tag, I will try to help.

 

@hexarthrius 

Two things that I can offer as solutions:

1. Is the 1st gallery's Items a collection or directly from your data source? If a collection, there maybe some type / data mis-matching going on.

 

2. And this is what I think is likely happening, your 'Edit' button should explicitly set the form to EditMode even though the default is Edit. At some point it may have been set to NewMode and may still be in that mode? You can check this using a simple label boolean check eg Form1.Mode = FormMode.New in a label

To explicitly set your Edit button, use EditForm(yourFormName); Navigate(...)

 

A least likely solution could be that you have removed and added new Form controls (eg added in combo boxes where there were previously textinput fields) and these haven't been setup correctly?

 

Anyway, try these things and let me know how you get on.

Community Support
Community Support

Hi @hexarthrius ,

Could you tell me

1)the gallery's Items in Main Menu Screen?

2)the form's data source in Edit Screen?

You need to make sure that these two properties are the same table.

You need to set the edit form's Item: gblGalSystemsSelected

Also, set the edit button's OnSelect in Details Screen:

EditForm(formname in edit screen);Navigate('System Edit Screen')

//make sure the form's mode is edit

If the problem still exists, try to set  the edit form's Item:

Lookup(DataSource, ID = gblGalSystemsSelected.ID)
//filter the item that has the var's same ID

 Or you could consider not using variable.

You could use "Galleryname.Selected" to represent the selected item in the gallery directly.

Just need to set the the edit form's Item:

Galleryname.Selected
//please replace with the gallery name in Main Menu Screen

 

 

Best regards,

Community Support Team _ Phoebe Liu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Super User III
Super User III

Hi @hexarthrius 

What data source are you using? If you're using SQL Server or the CDS, and if you've enabled explicit column selection, this can result in this type of behaviour.

image.png

 

Hi All, 

 

I have tried suggestions from @Eelman and @v-yutliu-msft, but it seems that it's doing the same thing even when I set these recommendations on setting it as variable and not setting it as a variable.

 

Here's a video of how it looks like when going to the edit form:

https://www.screencast.com/t/di6z1vbAm

 

I also tried the lookup function and while it did get the data when I was editing the formula, simulating it has the same results as the one above. I'm not sure what I'm doing wrong at this point, since I've been doing this setup for my previous apps. 

 

@timl, my data source is SharePoint. 

Hi @hexarthrius ,

Have you set the "edit" button's OnSelect in Details Screen  like this:

EditForm(formname in edit screen);Navigate('System Edit Screen')

Please replace with your edit form's name.

This will make the form's mode to be Edit.

Also, could you tell me how many records in your sharepoint list?

Do you have delegation warning, which will lead to some problems too?

If your problem still exists, could you show me all your settings about the edit form?

 

 

Best regards,

Phoebe 

Community Support Team _ Phoebe Liu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

@hexarthrius watching that video I think I can see the error. Your form gets the data then gets reset (see pics)

 

Gets data (approx 8sec mark):

EditForm_notWorking01.png

 Then gets reset (approx 9sec onwards)

EditForm_notWorking02.png

 

My guess is that the OnVisible of the screen is resetting the Form to New mode ... or some other function is doing that. You could also have a check on the Default property of the form to see if that is causing the issue.

 

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 (13,486)