Я хочу добавить столбец, содержащий изображения, в каждую ячейку таблицы в рамках калитки. Я создаю таблицу в классе java и использую метод createColumns() следующим образом:
private List<IColumn> createColumns() {
List<IColumn> columns = new ArrayList<IColumn>();
// Create the columns that will be displayed, second param is the sort
// order
// Use column position for aggregate functions
// Otherwise the query uses column aliases so these need to match here
columns.add(new PropertyColumn(new Model("Status"), "code") {
private static final long serialVersionUID = 1L;
@Override
public void populateItem(Item item, String componentId, IModel model) {
Object[] values = ((ArrayWrapper) model.getObject()).getArray();
setStatus((Integer) values[0]);
item.add(new Image(componentId, new ResourceReference(this.getClass(), getStatus())));
}
});
columns.add(new PropertyColumn(new Model("First"), "2", "array[1]"));
columns.add(new PropertyColumn(new Model("Last"), "3", "array[2]"));
columns.add(new PropertyColumn(new Model("Sender"), "sender",
"array[4]"));
columns.add(new PropertyColumn(new Model("Receiver"), "receiver",
"array[5]"));
columns.add(new HeaderlessColumn() {
private static final long serialVersionUID = 1L;
public void populateItem(Item cellItem, String componentId,
IModel rowModel) {
cellItem.add(new ActionPanel(componentId, rowModel));
};
});
return columns;
}
HTML-файл выглядит следующим образом:
<html xmlns:wicket="http://wicket.sourceforge.net/">
<body>
<wicket:extend>
<table align="center" wicket:id="results"></table>
</wicket:extend>
</body>
</html>
Но я получаю исключение, которое:
org.apache.wicket.markup.MarkupException: ячейка компонента должна применяться к тегу типа img, а не '' (строка 0, столбец 0)
И это связано с линиями, которые я делаю столбцом для изображения. Может ли кто-нибудь помочь мне, как я могу это сделать?