Hello: When you build a gridLayout using applyComponents, and then de

Hello:

When you build a gridLayout using applyComponents, and then delete a row, say the third row of 4 rows, the gridRowLayout containing the third row is re-used in memory for the fourth row.

For example:

GridLayout
Has
Data Row 1 – GridRowLayout 1
Data Row 2 – GridRowLayout 2
Data Row 3 – GridRowLayout 3
Data Row 4 – GridRowLayout 4

Then delete data row 3:

Data Row 1 – GridRowLayout 1
Data Row 2 – GridRowLayout 2
Data Row 4 – GridRowLayout 3

This means that any local variables set in GridRowLayout 3 that was applying to row 3 of the data will now apply to Row 4 of the data incorrectly.

OriginalPostID-144484

OriginalPostID-144484

  Discussion posts and replies are publicly visible

Parents
  • a!gridLayout
    (
              rows:
              a!applyComponents
              (
                        rule!thatbuildsGridRow,
                        local!arrayOfCDTs
              )
    )


    rule!thatBuildsGridRow
    (
              load
              (
                        local!variableThatIsNotUpdated,
                        a!textField
                        (
                                  value:local!variableThatIsNotUpdated,
                                  saveInto:local!variableThatIsNotUpdated
                        )
              )

    )





    gridLayout has 3 rows displayed, 3 CDTs.

    If you delete the 2nd row of data, the same gridRow is used for the 3rd CDT, and the local variables that applied to the 2nd CDT are now used for the third CDT, which is incorrect.

    I cannot put the local variables in a with() because they must be saved into.

Reply
  • a!gridLayout
    (
              rows:
              a!applyComponents
              (
                        rule!thatbuildsGridRow,
                        local!arrayOfCDTs
              )
    )


    rule!thatBuildsGridRow
    (
              load
              (
                        local!variableThatIsNotUpdated,
                        a!textField
                        (
                                  value:local!variableThatIsNotUpdated,
                                  saveInto:local!variableThatIsNotUpdated
                        )
              )

    )





    gridLayout has 3 rows displayed, 3 CDTs.

    If you delete the 2nd row of data, the same gridRow is used for the 3rd CDT, and the local variables that applied to the 2nd CDT are now used for the third CDT, which is incorrect.

    I cannot put the local variables in a with() because they must be saved into.

Children
No Data