OnItemLoad triggers actions for all cells

I am using a repeater to display and manage a matrix of master items. Each cell of the repeater contains an instance of the same master. The master contains a dynamic panel and a text field. The text field shows the value in the repeater’s cell. I am trying to use OnTextChange to change the dynamic panel state for that cell. However, it appears that when I change the value in a single cell, OnItemLoad refreshes by re-writing all the repeater’s values in all the cells, thus triggering OnTextChange for ALL instances, rather than the single instance that has been updated.

Am I missing something? Surely it would make sense on refresh only to trigger actions where the value of a cell has actually been changed?

I can’t use a filter because the entire matrix needs to be displayed permanently.

Could you upload your .rp file? Hard to tell what’s going on without seeing the details.

I developed this a bit further and am now more confused! I’ve attached two versions of the same model. In both you can change the value of an individual cell by selecting the row/column using the dropdown, and then change the value of the cell using the buttons to 1, 2 or 3. This will change the value in the text field which you can see.

In one version OnTextChange for that text field is used to set the panel state directly (1=green, 2=violet, 3=blue). In the other I use it to set the panel state to Next with Wrap.

The first version works fine, but the Next version doesn’t appear to do anything when you click the buttons even though you can see the text changes. However, it obviously worked when the repeater was initialised because all the panels are in state 2 (violet) instead of 1 (green)!

20181008 Repeater Panel State to Next.rp (94.3 KB)
20181008 Repeater Panel State to Value.rp (96.0 KB)

By the way, there appears to be another anomaly too! You’ll notice I move the HEX master items in OnItemLoad so that they line up correctly without gaps. For some reason, although it is part of the master item, the text field does not get moved when the master item is moved, so I have had to include a separate MOVE instruction for the text field as well as the master item.

If I take out the MOVE instruction for the text field (which I have done in the attached example) the text fields stay put and this also screws up the alignment of the master items!

20181008 Repeater Text Field Position.rp (94.5 KB)