Custom form screen question

Hi! I have a form screen now for users to enter data for a specific record into my Trades table. This is a form screen with the submit button at the top and the fields are empty.

However I’d like to make a custom button that can not only make a row like the form above, but also write to a new row in a different table based on if the user selects that option in the form. But when I make a new screen (instead of a form screen), the inputs are pre-populated.

First, is this possible? One form writing to two tables? I thought I read it somewhere on the forums. Second, why is this the new screen with the form components pre-populated? How can I start with empty fields?

Thanks!

A screen is usually attached to a row, regardless is you select New Screen → This Item, Relation, or Table. You are simply viewing an existing row.

Have you looked at this thread to create a custom form?

2 Likes

Thank you. I did read through this, and I think I need to create a custom form and blank out the values. However when I use a custom form and the existing values are edited, it obviously updates the record which I don’t want. That’s why I like the form screen.

But I’m wondering if an if-then-else can somehow be used on the submit button of a form screen?

I can create custom actions to write to 2 different tables, but I only want to write to the second table if the user makes a certain selection.

If you look carefully through that thread, you’ll notice that that entry components are written to temporary user specific columns. Once you “submit” the form, you call an Add Row action that will write those temporary values to whichever table you want. You need to create those temporary user specific columns and point your entry components to them instead of of the columns that contain existing data.

And yes, your idea for a custom action on the submit button should work.

2 Likes

Ah, I see. Do you recommend I make those columns in a separate table?

1 Like

I use a 1 row long “working table” with one cell of dummy data for all my custom forms.

I’m not sure what others do :sunglasses:

The cell of dummy data gets the table started with a single row…

6 Likes

I agree with @Eric_Penn. I’ve done it several different ways. Columns in an existing table or columns in a separate table. But giving the form it’s own work table is a little cleaner. I’ve done a lot of “work” tables, which are just tables with a set number of rows used to perform a particular function rather than storing data.

4 Likes

Most of the time I do it the same way nowadays. It’s cleaner for me.

1 Like

If you use a glide table and give it a RowID column, the first row gets added for you. So you don’t need the dummy value any more :wink:

2 Likes

@Eric_Penn @Darren_Murphy @ThinhDinh @Jeff_Hager Got it, thanks for all the input! I got it working now :slight_smile:

  • Custom form
  • Separate table with user specific columns as a holder
  • Custom action to write to the tables needed when certain conditions are met
  • Reset table values for the next user
1 Like

If your flow allows it, try clearing your fields upon opening/ entering the form instead of on submit.

1 Like

I did try that, but it doesn’t clear? I’m using a set column value action with - clear rows. It seems to just add a blank row to the table.

That seems odd, set column values shouldn’t be adding a new row to your table.

I would double check that you are using a Set Column with -Clear value
Under Row you should be using a relation single.

At least thats how I’m doing it…

2 Likes

Hmm. I’m using the following setup. I want to clear the trade type on this row of the user specific form. But it’s not clearing.

Is this action initiated from a screen that sits on the Trade Input table, or from some other table?

It can be initiated from one of two floating buttons. Both are located on a list page that use the Trades table as the source.

The reason I asked was because if your Show New Screen is targeting a different table from the current table, then as soon as that action fires the context changes. This could be why the subsequent Set Columns fails.

Have you tried reversing the actions? ie. Set Columns first?

Is there another step before the floating button where you could set an action?

So you’re right, the floating button is sitting on a page using the Trades table. Then the button goes to a new screen that uses a Trade Input table.

Reversing the actions doesn’t clear the value either unfortunately.

No there isn’t unfortunately. User clicks the button and immediately fills out the form.