[
https://issues.apache.org/jira/browse/CLK-640?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bob Schellink updated CLK-640:
------------------------------
Attachment: Table.java.patch
One feature I'd like to see implemented through DataProviders is a fully
pagination solution.
The current workaround is to use a List and override its size method to return
the total number of records. But this hack might bite us down the line.
Attached is an initial patch to add a totalRows property to Table which can be
used instead of rowList.size.
> 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
>
> Attachments: Table.java.patch
>
>
> 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.