#datatable #wicket
#datatable #wicket
Вопрос:
Я бы хотел, чтобы a PropertyColumn
DataTable
было выровнено по правому краю. Но если я попытаюсь добавить a new SimpleAttributeModifier("align", "right")
к элементу ячейки, он будет добавлен в a span
внутри td
, а не td
сам.
public class AssetSizeColumn<T> extends PropertyColumn<T> {
...
@SuppressWarnings("unchecked")
public void populateItem(Item<ICellPopulator<T>> item, String componentId, IModel<T> rowModel) {
IModel<Long> model = (IModel<Long>) createLabelModel(rowModel);
Component label = new Label(componentId, model.getValue().toString());
label.add(new SimpleAttributeModifier("align", "right"));
item.add(label);
}
Могу ли я перейти td
к настройке выравнивания?
Ответ №1:
Хитрость в том, что элемент td
является родительским элементом, как только он добавляется в ICellPopulator
, так что мы можем сразу добавить к нему модификатор.
public void populateItem(Item<ICellPopulator<T>> item, String componentId, IModel<T> rowModel) {
IModel<Long> model = (IModel<Long>) createLabelModel(rowModel);
Component label = new Label(componentId, model.getObject().toString());
item.add(label);
label.getParent().add(new SimpleAttributeModifier("align", "right"));
}