java.lang.Object
org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn<T,S>
org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn<T,S>
Type Parameters:
T - The Model object type
S - the type of the sort property
All Implemented Interfaces:
Serializable, ICellPopulator<T>, IExportableColumn<T,S>, IColumn<T,S>, IStyledColumn<T,S>, IDetachable, IClusterable
Direct Known Subclasses:
FilteredPropertyColumn

public class PropertyColumn<T,S> extends AbstractColumn<T,S> implements IExportableColumn<T,S>
A convenience implementation of column that adds a label to the cell whose model is determined by the provided wicket property expression (same as used by PropertyModel) that is evaluated against the current row's model object

Example

 columns[0] = new PropertyColumn(new Model<String>("First Name"), "name.first");
 
The above will attach a label to the cell with a property model for the expression "name.first"
Author:
Igor Vaynberg ( ivaynberg )
See Also:
  • Constructor Details

    • PropertyColumn

      public PropertyColumn(IModel<String> displayModel, S sortProperty, String propertyExpression)
      Creates a property column that is also sortable
      Parameters:
      displayModel - display model
      sortProperty - sort property
      propertyExpression - wicket property expression used by PropertyModel
    • PropertyColumn

      public PropertyColumn(IModel<String> displayModel, String propertyExpression)
      Creates a non sortable property column
      Parameters:
      displayModel - display model
      propertyExpression - wicket property expression
      See Also:
  • Method Details

    • populateItem

      public void populateItem(Item<ICellPopulator<T>> item, String componentId, IModel<T> rowModel)
      Implementation of populateItem which adds a label to the cell whose model is the provided property expression evaluated against rowModelObject
      Specified by:
      populateItem in interface ICellPopulator<T>
      Parameters:
      item - the item representing the current table cell being rendered
      componentId - the id of the component used to render the cell (only one component should be added to the cell)
      rowModel - the model of the row item being rendered. this model usually contains the model provided by the data provider.
      See Also:
    • getPropertyExpression

      Returns:
      wicket property expression
    • getDataModel

      public IModel<?> getDataModel(IModel<T> rowModel)
      Factory method for generating a model that will generated the displayed value. Typically the model is a property model using the propertyExpression specified in the constructor.
      Specified by:
      getDataModel in interface IExportableColumn<T,S>
      Parameters:
      rowModel -
      Returns:
      model