Hi!
The strategy here will be to do the following:
- Upon clicking the row in the repeater, mark it
- Add a condition to OnItemLoad of the repeater that disables the ListEntry widget if the row is marked.
- Create a disabled interaction style for that widget defining how you want the already clicked rows to appear
Note that if you simply disable the widget by clicking it, when the repeater refreshes the disabled state of ListEntry is reverted to the state it was created in: enabled. But a marked row remains marked when the repeater refreshes. That’s why you add the condition to OnItemLoad:
OnItemLoad
— do the stuff you're already doing —
If value [[Item.isMarked]] is equal to true
Disable ListEnty
Be careful that that the condition is an IF and not an ELSE IF, because when you create the condition, Axure (rather ineptly) defaults to ELSE IF, fully knowing that this condition will never execute a because the first one is simply IF (True). No matter: you can toggle between IF and ELSE IF on right-click of the condition.
Then, edit OnClick of the ListEntry widget in the repeater row:
OnClick
— do the stuff you're already doing —
Mark Rows This in AutoCompleteList
Be sure you choose the correct repeater whose row you want to mark! (I chose the wrong one when I was playing with this, and ‘This’ did not appear as an option, because OnClick isn’t being defined within that repeater.)
Then all you have to is define the disabled interaction style of the ListEntry widget, which is an option when you right-click it. A nice side-effect is that because clicked rows will now be disabled, the OnClick interaction of that widget will be ignored, which is what you want.