new ExampleExportFormatter(), DisplayMode.NORMAL,
GridRegion.BODY);
configRegistry.registerConfigAttribute(
ExportConfigAttributes.EXPORT_FORMATTER,
new IExportFormatter() {
@Override
public Object formatForExport(ILayerCell cell,
IConfigRegistry configRegistry) {
// simply return the data value which is an
// integer for the row header
// doing this avoids the default conversion to
// string for export
return cell.getDataValue();
}
}, DisplayMode.NORMAL, GridRegion.ROW_HEADER);
}
});
natTable.configure();
GridDataFactory.fillDefaults().grab(true, true).applyTo(natTable);
// property names of the NumberValues class
String[] numberPropertyNames = { "columnOneNumber", "columnTwoNumber",
"columnThreeNumber", "columnFourNumber", "columnFiveNumber" };
// mapping from property to label, needed for column header labels
Map<String, String> numberPropertyToLabelMap = new HashMap<String, String>();
numberPropertyToLabelMap.put("columnOneNumber", "Value One");
numberPropertyToLabelMap.put("columnTwoNumber", "Value Two");
numberPropertyToLabelMap.put("columnThreeNumber", "Value Three");
numberPropertyToLabelMap.put("columnFourNumber", "Value Four");
numberPropertyToLabelMap.put("columnFiveNumber", "Value Five");
List<NumberValues> valuesToShow = new ArrayList<NumberValues>();
valuesToShow.add(createNumberValues());
valuesToShow.add(createNumberValues());
valuesToShow.add(createNumberValues());
valuesToShow.add(createNumberValues());
valuesToShow.add(createNumberValues());
final NatTable numberNatTable = new NatTable(gridPanel, createGrid(
numberPropertyNames, numberPropertyToLabelMap, valuesToShow),
false);
// adding this configuration adds the styles and the painters to use
numberNatTable
.addConfiguration(new DefaultNatTableStyleConfiguration());
numberNatTable.addConfiguration(new AbstractRegistryConfiguration() {
@Override
public void configureRegistry(IConfigRegistry configRegistry) {
// register a custom formatter to the body of the grid
// you could also implement different formatter for different
// columns by using the label mechanism
configRegistry.registerConfigAttribute(
ExportConfigAttributes.EXPORT_FORMATTER,
new IExportFormatter() {
@Override
public Object formatForExport(ILayerCell cell,
IConfigRegistry configRegistry) {
// simply return the data value which is an
// integer for the row header
// doing this avoids the default conversion to
// string for export
return cell.getDataValue();
}
}, DisplayMode.NORMAL, GridRegion.BODY);
configRegistry.registerConfigAttribute(
ExportConfigAttributes.EXPORT_FORMATTER,
new IExportFormatter() {
@Override
public Object formatForExport(ILayerCell cell,
IConfigRegistry configRegistry) {
// simply return the data value which is an
// integer for the row header