Problem with repeater updating rows with a rule

repeater-widget

#1

I’ve created an example file to try and explain my issue.

Wanting to create a dynamic menu using a repeater. When and an item is clicked it is resized to show it is selected.

What I am having issues with is when another item is clicked I cannot resize the previously selected one to the unselected state

expanding menu.rp (53.5 KB)

I have tried a few approaches such as marking rows etc but to get the repeater to redisplay I have resorted to updating rows with a selected value

Any help would be great


#2

Hi!

The good news is that you simply ran into an Axure bug. The Update Row command can’t set a column to a blank value (i.e., a string with a length of 0). If you try, it will fail and leave the current value in the column, in this case “Y”.

If you set the column to “N” instead of blank, your code works fine.

I’m assuming you were just trying stuff out, but you don’t need both update commands (using Item and TargetItem alternately). You just need the one that uses TargetItem.

BTW: It’s helpful to put a “debug” label in the repeater row that you use to display the value of the Selected column. This is how I noticed that column wasn’t getting updated. (I had run into this Update Row bug before, but I completely forgot about it.)


#3

Thanks for the info and advice, really appreciate it. Good to know about the bug.

I actually got it working in a slightly different way when your reply came in.

expanding menu fix.rp (54.8 KB)

Thanks again :slight_smile:


#4

I’ve had a similar problem which I could fix. My 5 cents on your approach:

An alternative way to achive the effect you’re looking for is by using the select-state change on objects whithin a table. Just make sure the object is asigned to a selection group and define the behaviour on select and unselect: as selection of an object in a row automatically means deselecting the object in whatever other row, you’re there in no time.