anchor.diff:  [classname]#DecimalFormat# and [classname]#ChoiceFormat#, or by
   [methodname]#String.format()#.
   
  -ifdef::web[]
   +
   For example:
   +
   [source, java]
   ----
  -// Define some columns
  -Column<String> nameCol = grid.addColumn(person::getName);
  -Column<Integer> bornCol = grid.addColumn(person:getBirthYear);
  -Column<Integer> slettersCol = grid.addColumn("sletters");
  -Column<Double> ratingCol = grid.addColumn("rating");
  -
  -// Use decimal format
  -bornCol.setRenderer(new NumberRenderer(
  -    new DecimalFormat("in #### AD")));
  -
  -// Use textual formatting on numeric ranges
  -slettersCol.setRenderer(new NumberRenderer(
  -    new ChoiceFormat("0#none|1#one|2#multiple")));
  -
   // Use String.format() formatting
  -ratingCol.setRenderer(new NumberRenderer(
  -    "%02.4f", Locale.ENGLISH));
  -
  -// Add some data rows
  -grid.addItems(new Person("Nicolaus Copernicus", 1473, 2, 0.4),
  -              new Person("Galileo Galilei",     1564, 0, 4.2),
  -              new Person("Johannes Kepler",     1571, 1, 2.3));
  -
  -----
  -endif::web[]
  +Column<Double> ratingCol = grid.addColumn("rating",
  +      new NumberRenderer("%02.4f", Locale.ENGLISH));
  +----
  +
   [classname]#ProgressBarRenderer#:: Renders a progress bar in a column with a [classname]#Double# type. The value
   must be between 0.0 and 1.0.
  -
  -ifdef::web[]
  -+
  -For example:
  -+
  -[source, java]
  -----
  -// Define some columns
  -Column<String> nameCol = grid.addColumn(person::getName);
  -Column<Double> ratingCol = grid.addColumn("rating");
  -ratingCol.setRenderer(new ProgressBarRenderer());
  -
  -// Add some data rows
  -grid.addItems(new Person("Nicolaus Copernicus", 0.4),
  -              new Person("Galileo Galilei",     4.2),
  -              new Person("Johannes Kepler",     2.3));
  -----
  -endif::web[]
  -[classname]#TextRenderer#:: Displays plain text as is. Any HTML markup is quoted.
  -
   
   
   [[components.grid.renderer.custom]]
  
positive.code: 
      });
      cell.setComponent(filterField);
  
  }
  ----
  
  [[components.grid.sorting]]
  == Sorting
  
negative.code: Grid<Person> grid = new Grid(people);
  
  // Render a button that deletes the data row (item)
  grid.addColumn(person -> "Delete", 
        new ButtonRenderer(clickEvent -> {
            people.remove(clickEvent.getValue());
            grid.setItems(people);
      });
  ----
  
  [classname]#ImageRenderer#:: Renders the cell as an image.
  The column type must be a [interfacename]#Resource#, as described in
  