I am not sure if this is possible but I’m creating an errand booking app that lets customers acquire the assistance of riders in doing their errands. I am able to edit a specific errand using the edit form from a layout tab but when I tried adding a Form Button component, set its action to “Link to screen” and configure that screen to be editable by a customer, it always shows the values from the first row of a sheet and not the specific errand. There’s basically two edit forms - one for riders and one for customers. Customers edit the Notes component in that screen in case they need to update the errand details.
Probably the easiest way to fix that would be to change the list action from “Link to Screen” to “View Details”, and then either allow editing, or build your edit form on that screen. Then you can be sure your users are editing the correct row.
Given that you have two different groups of users that need to edit different things, you’ll probably need to build your own edit form, and then use component visibility to show the appropriate input components to the correct groups.
Have you tried to select Link to Screen ‘This Item’ instead of selecting Link to Screen and then selecting the sheet?
Hi! Thank you for the response, however I don’t see this action under the Form Button component.
Hi! I don’t see this either. The screen I’m trying to put the form on was already accessed through a View Details action with an unticked “Independent screen configuration per item” checkbox.
Can you not add input components to that screen?
NB. I’m not suggesting that you add a “form” per se, but rather that you:
- add the input components that you need
- add a button
- associate an action with that button that does a Set Columns action (or Add Row, whichever is appropriate)
I can add input components in the screen. But I want the ability to let a customer edit their own notes. I have used the Edit Form tab for riders and it seems to get the ID from the previous screen. I have a programming background, and I want to know if its possible to pass some sort of ID to an action or something?
I tried the Set Columns action just awhile ago but it just adds a new row (similar to using the add new row action). I wanted to update the same row for a particular record.
EDIT: or are you trying to suggest to have a text entry component inside the screen instead of linking to a new screen? I haven’t tried this yet.
Yes. text entry == input component
So I guess we can’t create our own “Edit Form” screen similar to the built-in Edit Form screen that Glide provides? Please clarify this.
EDIT: Yeah, guess I don’t need a button at all. Just a Text Entry component and it will automatically update. Looks like there’s no way to create a custom Edit Form screen.
Yes, you can.
Here is an example from one of my own apps.
The below is a “View Details” screen that has been re-purposed as an Edit screen.
Each input component is directed at the appropriate column.
The existing value is shown, and can be edited.
A Submit button (out of view), does a Set Columns action.
I forgot to add, but I was trying to edit specific columns and not all columns. And like I said, the screen is already on a view details screen but I wanted to add a new screen within that view details screen for an edit form. My screens could have gone like this:
Tab → Clicked on a record (with an action set to View Details) → Information screen listing all the details of that particular record → A button that will redirect to an edit screen editing only specific columns.
I believe what you have on your screenshot is simply the screen accessed through a View Details action and repurposed as an Edit Screen.
That’s exactly what mine is.
The key is here:
That button should do a Link to Screen → This Item action
And then you build your edit screen out on there.
Here’s a short video to show what it looks like:
Thank you, but I’ll stick with the text entry component solution instead.
I usually use the same method, adding in a CSS to hide the back button and the tab bar so that the user must finish editing in order to “go back” or view another screen.
Not sure why I didn’t do that here… I think I was just being lazy