*/
public OIRPage()
{
SortableContactDataProvider dp = new SortableContactDataProvider();
final DataView dataView = new DataView("oir", dp)
{
protected void populateItem(final Item item)
{
Contact contact = (Contact)item.getModelObject();
item.add(new ActionPanel("actions", item.getModel()));
item.add(new Link("toggleHighlite")
{
public void onClick()
{
HighlitableDataItem hitem = (HighlitableDataItem)item;
hitem.toggleHighlite();
}
});
item.add(new Label("contactid", String.valueOf(contact.getId())));
item.add(new Label("firstname", contact.getFirstName()));
item.add(new Label("lastname", contact.getLastName()));
item.add(new Label("homephone", contact.getHomePhone()));
item.add(new Label("cellphone", contact.getCellPhone()));
item.add(new AttributeModifier("class", true, new AbstractReadOnlyModel()
{
public Object getObject()
{
return (item.getIndex() % 2 == 1) ? "even" : "odd";
}
}));
}
protected Item newItem(String id, int index, IModel model)
{
return new HighlitableDataItem(id, index, model);
}
};
dataView.setItemsPerPage(8);
dataView.setItemReuseStrategy(ReuseIfModelsEqualStrategy.getInstance());
add(new OrderByBorder("orderByFirstName", "firstName", dp)
{
protected void onSortChanged()
{
dataView.setCurrentPage(0);
}
});
add(new OrderByBorder("orderByLastName", "lastName", dp)
{
protected void onSortChanged()
{
dataView.setCurrentPage(0);
}
});
add(dataView);
add(new PagingNavigator("navigator", dataView));