You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@click.apache.org by sa...@apache.org on 2010/04/06 11:06:18 UTC
svn commit: r931054 -
/click/trunk/click/examples/src/org/apache/click/examples/page/table/FormTablePage.java
Author: sabob
Date: Tue Apr 6 09:06:18 2010
New Revision: 931054
URL: http://svn.apache.org/viewvc?rev=931054&view=rev
Log:
use dataprovider to load formtable data
Modified:
click/trunk/click/examples/src/org/apache/click/examples/page/table/FormTablePage.java
Modified: click/trunk/click/examples/src/org/apache/click/examples/page/table/FormTablePage.java
URL: http://svn.apache.org/viewvc/click/trunk/click/examples/src/org/apache/click/examples/page/table/FormTablePage.java?rev=931054&r1=931053&r2=931054&view=diff
==============================================================================
--- click/trunk/click/examples/src/org/apache/click/examples/page/table/FormTablePage.java (original)
+++ click/trunk/click/examples/src/org/apache/click/examples/page/table/FormTablePage.java Tue Apr 6 09:06:18 2010
@@ -39,6 +39,7 @@ import org.apache.click.extras.control.F
import org.apache.click.extras.control.FormTable;
import org.apache.click.extras.control.NumberField;
import org.apache.click.util.Bindable;
+import org.apache.click.util.DataProvider;
import org.springframework.stereotype.Component;
/**
@@ -109,11 +110,7 @@ public class FormTablePage extends Borde
public void onInit() {
super.onInit();
- // Please note the FormTable rowList MUST be populated before the
- // control is processed, i.e. do not populate the FormTable in the
- // Pages onRender() method.
- List<Customer> customers = customerService.getCustomersSortedByName(NUM_ROWS);
- table.setRowList(customers);
+ table.setDataProvider(createDataProvider());
}
public boolean onOkClick() {
@@ -140,12 +137,22 @@ public class FormTablePage extends Borde
// the data context
BaseContext.getThreadObjectContext().rollbackChanges();
- List<Customer> customers = customerService.getCustomersSortedByName(NUM_ROWS);
+ // Refresh the FormTable rowList by setting a new DataProvider
+ table.setDataProvider(createDataProvider());
- table.setRowList(customers);
+ // As form was cancelled, don't render the user submitted values
table.setRenderSubmittedValues(false);
return true;
}
+ public DataProvider createDataProvider() {
+ DataProvider dp = new DataProvider() {
+ public List<Customer> getData() {
+ return customerService.getCustomersSortedByName(NUM_ROWS);
+ }
+ };
+
+ return dp;
+ }
}