Controlling Repeater Selected Item with External Widgets


I have a repeater that I want to control with either the mouse or a back/next button to select a repeater item. This is essentially a tabbed interface with each repeater item being a tab. For some reason, next works fine, but back does not.

Using the expression [[Item.index == SelectedTab - 1]] does not work, but using [[Item.Index == SelectedTab + 1]] works fine. I’m using this to mark the adjacent repeater item and then using a listener in the repeater to fire the OnItemLoad event which handles updating the global variable as well as a few other things. When I look at the global variable in the console, the next button increments the value, but the back button does not decrement it.

I have no idea why this is happening. Unfortunately I can’t share the RP file as it contains proprietary designs. Any help would be appreciated.


It’s hard to tell what’s happening. Are these expressions conditions of the listener? If so, are you equating both expressions to TRUE? E.g.,

If (value) [[Item.index == SelectedTab -1]] is equal to true

If it’s not that, a screenshot of the relevant code would be helpful, even if you can’t share the file.

I’m using these expressions to mark a row for updating. Here’s the On Click of the back button:


The repeater has a Selected column that I use to track which item is currently selected. So I mark the previous row, remove selected from all the rows, then update the marked row. The listener forces the OnItemLoad of all the items which has a condition to check if the new row is selected. Again, this all works as expected when I’m using a + instead of a -. Here’st he OnItemLoad of the repeater item: