org.apache.wicket.extensions.markup.html.repeater.data.table
Class PropertyColumn<T>

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

public class PropertyColumn<T>
extends AbstractColumn<T>

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:
PropertyModel, Serialized Form

Constructor Summary
PropertyColumn(IModel<java.lang.String> displayModel, java.lang.String propertyExpression)
          Creates a non sortable property column
PropertyColumn(IModel<java.lang.String> displayModel, java.lang.String sortProperty, java.lang.String propertyExpression)
          Creates a property column that is also sortable
 
Method Summary
protected  IModel<?> createLabelModel(IModel<T> rowModel)
          Factory method for generating a model that will generated the displayed value.
 java.lang.String getPropertyExpression()
           
 void populateItem(Item<ICellPopulator<T>> item, java.lang.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
 
Methods inherited from class org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn
detach, getCssClass, getDisplayModel, getHeader, getSortProperty, isSortable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PropertyColumn

public PropertyColumn(IModel<java.lang.String> displayModel,
                      java.lang.String sortProperty,
                      java.lang.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<java.lang.String> displayModel,
                      java.lang.String propertyExpression)
Creates a non sortable property column

Parameters:
displayModel - display model
propertyExpression - wicket property expression
See Also:
PropertyModel
Method Detail

populateItem

public void populateItem(Item<ICellPopulator<T>> item,
                         java.lang.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

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:
ICellPopulator.populateItem(Item, String, IModel)

createLabelModel

protected IModel<?> createLabelModel(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.

Parameters:
rowModel -
Returns:
model

getPropertyExpression

public java.lang.String getPropertyExpression()
Returns:
wicket property expression


Copyright © 2006-2011 Apache Software Foundation. All Rights Reserved.