Hi,
I see that recently some work has been done on implementing a
"preserveRowStates" flag for the dataTable component.
As is (now) documented, the ancestor UIData component uses the
"flyweight" pattern so that only one set of child objects is used to
represent the columns and their contents. As each row is selected via
setRowIndex, the component state is saved in _rowStates array, and the
components are reinitialised with the _rowStates entry appropriate for
the next row.
However unless preserveRowState is set (it is false by default), the
encodeBegin method discards all row state before rendering begins.
I'm puzzled by this. Why is the row state cleared?
And if row state is going to be ignored, what's the point of saving it
at all?
Regards,
Simon