I'm attempting to visualize the relationship between two table parameters using a Green cells to represent values where the row and column are connected. Similar to a matrix router, but with non-matrix parameters.
To accomplish this I'm using two sets of Child groups, one nested within the other. I also have a filtered select box to set [var:EdgeID].
Outer Group (Rows)
- Children: Row
- ChildrenSource: */8700
- ChildrenSort: TableColumn|8702
- ChildrenPanel: StackVertical
- ChildrenFilter: VALUE=8701 == [var:EdgeID]/*
Inner Group (Columns, nested within each row)
- Children: Row
- ChildrenSource: */8900
- ChildrenSort: TableColumn|8926
- ChildrenPanel: StackHorizontal
- ChildrenFilter: VALUE=8901 == [var:EdgeID]/*
Cell Group (Contains a gray (Hide) and green (Show) square, nested within each column)
- SetVar:(Adds this cell's row & column indexes to a session variable array using a complex RegexReplace)
- SetVarOptions: Control=Shape
- Options: NoAlarmColorFill
- Show/Hide: <A>-A|Element:*|PARAMETER:8908,[parentTableIndex]|=[tableIndex]
- Tooltip: [displayTableIndex] => [param:[this element],8926,[parentTableIndex]]
And here is command in the automation script that updates the table values:
element.SetParameterByPrimaryKey(8908, tableIdx, newValue);
I have a button in this Visio that triggers the automation script. If I'm looking at the actual table data, it updates without issue, but most of the time the shapes that should Show/Hide according to this data do not update until I "refresh" the view by closing and reopening the element card. Also sometimes the Visio will display impossible states (Presumably due to partially stale data), which is fixed by "refreshing" the card as well.
Is there some way to force a redraw? Or could the options I'm using on the Cell shapes be causing some kind of caching issue? Or any optimizations to try would also be appreciated.
For reference I'm using the Techex MWCore v1.0.3.29 driver and Dataminer v10.3.0.0-13629
Thanks!
To follow up, this issue was caused by our DMA malfunctioning due to an unrelated issue with the host machine (Not enough CPU/RAM). Once we fixed that everything worked as expected.