[
https://issues.apache.org/jira/browse/CLK-640?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Malcolm Edgar reassigned CLK-640:
---------------------------------
Assignee: Malcolm Edgar
> Add DataProvider for Table and Select controls
> ----------------------------------------------
>
> Key: CLK-640
> URL: https://issues.apache.org/jira/browse/CLK-640
> Project: Click
> Issue Type: New Feature
> Components: core
> Affects Versions: 2.1.0
> Reporter: Malcolm Edgar
> Assignee: Malcolm Edgar
> Fix For: 2.2.0
>
>
> One reoccurring problem we see with people using Click is the inappropriate
> use of the Page#onRender() method. Typically its used to set data into the
> Table control, but then people will often use this Page method to set data in
> other controls such as the FormTable or Select controls, which breaks their
> usage contract.
> What I would like to see is that data controls such as the Table, Select and
> FormTable are able to load the data when they need it, rather than having to
> rely on the developer injecting the data at the correct point in the pages
> life cycle. This will provide an improve programming model where developers
> simply create their controls in the Page constructor or onInit() method,
> configure data providers when necessary, and write up control event handlers
> to the appropriate methods.
> The DataProvider interface would be very simple:
> public interface DataProvider {
> public List getData();
> }
> Developers would then implement this interface when creating their controls:
> Table table = new Table();
> table.addColumn()
> ...
> table.setDataProvider(new DataProvider() {
> public List getData() {
> return customerDao.getCustomerList();
> }
> });
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.