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)
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!
Solved! Go to Solution.
@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):
Then gets reset (approx 9sec onwards)
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.
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.
@WarrenBelz thanks for the tag, I will try to help.
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.
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,
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.
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
@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):
Then gets reset (approx 9sec onwards)
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.
User | Count |
---|---|
221 | |
99 | |
94 | |
55 | |
36 |
User | Count |
---|---|
273 | |
104 | |
104 | |
60 | |
60 |