ListGridField nameField = new ListGridField("countryName", "Country");
ListGridField capitalField = new ListGridField("capital", "Capital");
ListGridField populationField = new ListGridField("population", "Population");
populationField.setCellFormatter(new CellFormatter() {
public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
if (value == null) return null;
try {
NumberFormat nf = NumberFormat.getFormat("0,000");
return nf.format(((Number) value).longValue());
} catch (Exception e) {
return value.toString();
}
}
});
ListGridField areaField = new ListGridField("area", "Area (km²)");
areaField.setType(ListGridFieldType.INTEGER);
areaField.setCellFormatter(new CellFormatter() {
public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
if (value == null) return null;
String val = null;
try {
NumberFormat nf = NumberFormat.getFormat("0,000");
val = nf.format(((Number) value).longValue());
} catch (Exception e) {
return value.toString();
}
return val + "km²";
}
});
countryGrid.setFields(countryCodeField, nameField, capitalField, populationField, areaField);
//create another grid to display the preference name and viewState string
final ListGrid preferecesGrid = new ListGrid();
preferecesGrid.setHeight(300);
preferecesGrid.setWrapCells(true);
preferecesGrid.setFixedRecordHeights(false);
preferecesGrid.setCanEdit(true);
preferecesGrid.setEmptyMessage("No Saved Preferences");
preferecesGrid.setSelectionType(SelectionStyle.SINGLE);
preferecesGrid.setCanRemoveRecords(true);
final ListGridField name = new ListGridField("name", "Preference");
ListGridField viewState = new ListGridField("viewState", "View State String");
viewState.setEditorType(new TextAreaItem());
viewState.setCellFormatter(new CellFormatter() {
@Override
public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
//prettier display
return ((String) value).replace("\\r", "");
}