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

Reply via email to