Initial values behavior when copying a row

Hi!

I'm struggling with a problem and wonder if anyone has found a way around it yet.

When I create a row in my app, the behavior of columns with initial values is impeccable. The value can change several times based on other columns as long as the user doesn't overwrite the value manually.

My problem occurs when I use an action to copy the row and open an edit form. Let's say I have a column called โ€œLetterโ€ with an initial value of โ€œAโ€. If the user overwrites the initial value to โ€œBโ€ and then copies the row, the value that appears in his form for the new row is โ€œBโ€ (logical!). However, as soon as he changes any othe column, all initial values are reset. So the user automatically ends up with value โ€œAโ€.

I understand that the behavior of the form is the same as a โ€œnewโ€ form, where the initial values take precedence until the user overwrites them. But if the row has been duplicated, the form should remember that the values have been explicitly changed in the original row and not return to the initial values automatically.

Any idea how to fix this?

0 5 208
5 REPLIES 5


@Trizzy wrote:

However, as soon as he changes any othe column, all initial values are reset. So the user automatically ends up with value โ€œAโ€.


First, to clarify, this process is not copying the row but instead pre-loading a Form with values from a previous row.

The issue you have then is that if the user changes a column, it appears the Initial Vlaue of other columns are being triggered changing the preset value to the Initial Value.

I have never experienced that problem.  But I will perform a test when I get a chance to see if I can re-create it.

The first thing that comes to mind is that maybe you have the "Reset on edit" turned on??  This will refire the Initial Value expression when any change is made to the row.  If for some reason you MUST have the "Reset on edit" turned on then you will need to adjust your Initial Value expression to something like this:

IF(ISBLANK([_THIS]),
"A",
[_THIS]
)

 

Thanks for your input.

I don't have reset on edit turned on. And just for educational purpose (for anyone reading this), "Reset on edit" doesn't trigger during the initial creation of the row, only during further edits.

Let me know if you find something:)

I've faced this issue too. When you copy a row and open an edit form, the initial values reset if any column changes, which isn't ideal.

A simple fix is to create an action that copies the row and sets the columns to the current values. This way, the form remembers the user changes and doesn't revert to the initial values.

Hope this helps!

That's not a bad idea!

However, it's far from ideal for couple reasons :
1) Detrimental to the UI experience of row duplication
2) For tables with dozens of columns, requires manual mapping of each column
3) Requires adjustment of the action schema each time table structure changes

Thanks anyway for the idea. It seems to be the best solution as of today.

I had the same issue, and changed the action to "App: go to another view within this app" and use the following to the Target field :

LINKTOFORM(
"EVENTS_Form",
"Event", [Event],
...
)

This copied all column value and it solved my problem.