How can I locate and copy from cell of repeater table using given index

repeater-widget

#1

Is it possible in Axure to export content from a specific cell in repeater table using repeater index?
For example I have one repeater table that saves a list of first name and another repeater that saves list of last name, and I want to have a third repeater table that saves all combination of first and last names.
I created 2 global variables with default value 0 to indicate first and last name repeater index. And I leveraged panel status change event to simulate a loop intended to save combination rows one-by-one. But I don’t know how to locate repeater row with specific index within each loop… In the action “add rows”, I can only refer to one item of a repeater, but not one item of one repeater row with defined index (in other words one cell in table).
Combination of first and last names.rp (53.8 KB)


#2

You should be able to use a rule like, [[TargetItem.index == 5]] to choose the row with index of 5.

You can also use the “listener method” in which you set a global variable (or text of any widget) to your “target index”, e.g., “5”, and then “ping” a widget in your repeater, utilizing an otherwise unused event, e.g., Moved or Rotated. By firing this event, each and every row’s widget will get fired in rapid succession from the first to the last row. Set up a conditional case to test if the row matches your target index–thus the widget listens to this ping and only responds if it is the correct row. Something like,
If [[Item.index]] equals VarTargetIndex
Set Variable Value VarFirstName to [[Item.FirstName]]

  • You can perform this “ping” by either calling the widget’s Moved event directly:
    • Move MyRepeaterWidget by (0, 0)
    • (thus no actual movement of the widget; it is just a way to trigger that event)
  • Or you can use the Fire Event action like this:
    • Fire Event Moved of MyRepeaterWidget
    • (I prefer this method as it makes it more clear in the code that something special is happening)