I have more thoroughly tested your work around.
The workaround, works in 2021 R3 but not 2021 R1. It throws the following compile error in 2021 R1:
WebPage1.Button2.Pressed, line 5
Type “WebListBoxStyleRenderer” has no member named “Value”
Point 2: Enhancement
Not every cell (or row) will have a Style Renderer, therefore outputting the value associated with CellValueAt using your method would naturally bomb if no renderer was used. So, we need to check the type each time.
If VarType(ListBox2.CellValueAt(0,0)) = 8 Then // var type 8 = string
Else // we assume we are using a Style Renderer
Var styledCell As WebListBoxStyleRenderer = ListBox2.CellValueAt(0,0)
The need to first Remove and then Add an empty Row, before populating again with the renderer is complex in everything but the simplest of examples, especially when the WebListBox has a DataSource or multiple (many) columns and you are only formatting or updating a single cell.
I am using Style Renderers driven by timers to format mostly numeric data from live database feeds (reacting to negative/positive trends, live sales data etc).
Ultimately, CellValueAt needs to reliably return the value of the cell regardless of whether a renderer has been used or not.
That said, a workaround is called a work around for a reason, not perfect but moves us forward.
Again, thank you.
Kind regards, Andrew