fieldSet.add(new DoubleField("holdings"));
DateField dateJoined = new DateField("dateJoined");
dateJoined.setDate(new Date());
fieldSet.add(dateJoined);
customerForm.add(fieldSet);
customerForm.add(new Submit("add", "Add Customer", this, "onAddClick"));
// * #2. Create the FormTable and pass in the existing Form into the
// constructor. FormTable now knows it should not create an internal
// Form instance.
table = new FormTable("table", form);
// Assemble the FormTable columns
table.setClass(Table.CLASS_SIMPLE);
table.setWidth("700px");
table.setPageSize(5);
table.setShowBanner(true);
table.addColumn(new Column("id"));
FieldColumn column = new FieldColumn("name", new TextField());
column.getField().setRequired(true);
column.setVerticalAlign("baseline");
table.addColumn(column);
column = new FieldColumn("email", new EmailField());
column.getField().setRequired(true);
table.addColumn(column);
column = new FieldColumn("investments", new InvestmentSelect());
column.getField().setRequired(true);
table.addColumn(column);
NumberField numberField = new NumberField();
numberField.setSize(5);
column = new FieldColumn("holdings", numberField);
column.setTextAlign("right");
table.addColumn(column);
column = new FieldColumn("dateJoined", new DateField());
column.setDataStyle("white-space", "nowrap");
table.addColumn(column);
column = new FieldColumn("active", new Checkbox());
column.setTextAlign("center");
table.addColumn(column);
Column actionColumn = new Column("Action");
actionColumn.setSortable(false);
ActionLink[] links = new ActionLink[]{deleteCustomer};
actionColumn.setDecorator(new LinkDecorator(table, links, "id"));
table.addColumn(actionColumn);
deleteCustomer.setAttribute("onclick", "return window.confirm('Please confirm delete');");
table.getForm().add(new Submit("update", "Update Customers", this, "onUpdateCustomersClick"));
table.getForm().add(new Submit("cancel", this, "onCancelClick"));
table.setSortable(true);
fieldSet = new FieldSet("customers");
form.add(fieldSet);