Persistant rows in repeater when adding values from another page


#1

I am trying to add successive rows to a repeater when values are populated from a second page.

  1. Page 1 is repeater
  2. Select add a row
  3. Takes user to a second page where a they select from a dropdown. Value for selection is set with a Global Value
  4. Return to repeater page
  5. On Page Load a row is added and the Global Value populates the repeater. So far so good.
  6. However. if I add another row that first row is overwritten by the second. I know the repeater refreshes on actions such as Page Load but isn’t there a way I can have the first row persist, Have tried marking all rows but this does not work. Does anyone have any suggestions. Thanks in advance.
    Persistent repeater rows across pages.rp (54.7 KB)

#2

Step 3 is not the best idea if you need a persistent repeater, especially if you only need to present a dropdown. Each time Page 1 loads (e.g., step 4) everything gets loaded fresh–meaning they revert to their defaults as you have set them up in the RP editor–all widgets, including the repeater. It is possible to have “persistent rows” when jumping across pages, but you’ll need global variable(s) to store all the data in your repeater data sheet, plus a method to build each (previously set) row in the repeater.

My advice is to put your dropdown + “Save” button in a dynamic panel or group on Page 1 and simply show it when “Add a row” is clicked. You could keep same exact functionality and experience you have now by placing everything on Page 1 in a dynamic panel:

  • Select all widgets, right-click, “Create Dynamic Panel”
  • Add a state and place everything from Page 2 in that second state (cut & paste works)
  • On your buttons, instead of Open Link use Set Panel State
  • Move your Add Rows action from Page Loaded to the “Save” button’s Click or Tap event
  • Ditch the Mark Rows action

If you think you really need to update the repeater from another page, or keep the repeater persistent across multiple pages, here is a method to do it (should still work the same in RP9 and RP10):


#3

A million thanks mbc66. For various reasons too numerous and lengthy to go into here the value input has to go on another page but I think yr solution has solved it. Cheers