CellTable renders itself in a rendering loop, which means that you can make multiple synchronous changes to the range and/or data but only render once at the end of the synchronous changes. However, the table isn't designed to handle the case where user code actually modifies the table within the rendering loop.
The main things that can cause this are the following:
- Modifying the CellTable from within Cell#render()
- Overriding CellTable#renderRowValues() and modifying the CellTable from within it
- Trying to access an Element in CellTable from either of those methods
Are you doing any of these? The code is somewhat complicated because its optimized for performance and has some special cases. Its certainly possible that there are subtle bugs.
Thanks,
John LaBanca
jlab...@google.com