“Default” isn’t available outside of a form screen or add screen, and rightfully so. In any other case, such as an edit screen or a detail screen, you are working with values in an existing row, so normally you wouldn’t override an existing value with a default value. You would only set a default when you are adding a new row. A custom form is kind of a gray area where it’s used to add a new row, but you are still editing an existing row first.
I use a custom form because it provides more freedom to do math in real time, or establish relations with usable values, or perform additional actions within the form if necessary. For my use case, I think the vehicle list already has the previous odometer value pulled into the vehicle table, so when I select a vehicle, the set column action on the vehicle inline list writes the previous odometer reading into my custom form as a “default” value.
I now find it better to use a separate single row table to use for a custom form. This allows you to use a ‘Show Detail Screen’ action instead of a ‘Show New Screen’ action, which will allow it to be a reusable custom form that can opened from multiple places in your app while only having to set up the form once.
Curious why you would hide the back button. I can understand if you want the Cancel button to do certain actions, such as reset the form, but I think it’s better to reset the form on the way in instead of on the way out. That way a user can simply use the back button if they want or they can use the Cancel button, which would just be a ‘Go Back’ action. Keep in mind that hiding a back button with CSS is not foolproof… especially with android users that can simply use their hardware Back button instead of the Back button in the app.
I’m not sure I’m completely following the issue you are running into here. I do know that you cannot fill a USC column when you are in a native form or Add form. I guess I’ve never attempted to use a USC column to set a default, but if you are using the user profile table as the source of your default values, then you really shouldn’t be using USC columns in the user table. Everybody already has their own row, so there is no need for USC columns, since no one will be sharing the same row.
So this brings us to your core issue. I just want to make sure I understand how you want your form to work. So am I correct in assuming that you want a user to enter a current odometer reading, which would calculate a distance when subtracting the previous odometer reading, but you still want that calculated distance to be editable? This would not be possible in a native form with default values mainly because the defaults are set on the way into the form. Not while you are in the form. As for a custom form, you would need some sort of action to fire after the odometer reading is entered. That would only be possible with a button that a user would have to press. So if you had a sort of multi-step form, the button could not only move the calculated distance into the distance entry column, it could also set a flag to conditionally show the rest of the form.
I think you going to have to think outside the box to get this to work in glide. I realize the traditional programmer thinking of executing a function when losing focus on a textbox, for example, but that’s just not how glide works.