package org.nocket.component.table.js; import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator; import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.repeater.Item; import org.apache.wicket.model.IModel; public class PropertyColumnSpan<T> extends PropertyColumn<T, String> { private static final long serialVersionUID = 1L; private boolean renderSpan; public PropertyColumnSpan(IModel<String> displayModel, String propertyExpression) { this(displayModel, propertyExpression, true); } public PropertyColumnSpan(IModel<String> displayModel, String sortProperty, String propertyExpression) { this(displayModel, sortProperty, propertyExpression, true); } public PropertyColumnSpan(IModel<String> displayModel, String propertyExpression, boolean renderSpan) { super(displayModel, propertyExpression); this.renderSpan = renderSpan; } public PropertyColumnSpan(IModel<String> displayModel, String sortProperty, String propertyExpression, boolean renderSpan) { super(displayModel, sortProperty, propertyExpression); this.renderSpan = renderSpan; } @Override public void populateItem(Item<ICellPopulator<T>> item, String componentId, IModel<T> rowModel) { Label l = new Label(componentId, getDataModel(rowModel)); l.setRenderBodyOnly(!renderSpan); item.add(l); } }