Hi all,
Currently the Table, Select and FormTable controls uses normal List objects as data providers. While
simple end easy to use it does lead to inconsistencies, for example Table rowList can be set in
onRender but Select and FormTable need to be populated before onProcess.
How about we add a DataProvider interface that can be set for all three components in the onInit
event. The Control can then call this interface when the data is needed. For Select and FormTable
this will be during the onProcess event, while Table will retrieve its data during rendering.
In addition this interface can act as a data proxy when paging. For example the DataProvider can
expose a getSize() method that returns 1000 while in reality only 10 objects were retrieved.
Ajax can also benefit from a performance perspective. Imagine making an Ajax request to a Page with
multiple Select controls and FormTable. These controls will be populated during the onInit event,
but they won't be processed because Ajax requests should only process the Control that was
interacted with.
kind regards
bob
- DataProvider interface Bob Schellink
-