編輯
對不起,我沒有第一次進入這個問題。 (對於PlayerResults),我們從來沒有試過這個(所以不確定它是否可能),但也許你也可以應用一個ListView到<td>
標籤(對於結果),就像它在<tr>
標籤中完成一樣。
的Java:
List<PlayerResult> players = // ...
ListModel<PlayerResult> playersModel = new ListModel<PlayerResult>(players);
ListView<PlayerResult> list = new ListView<PlayerResult>("list", playersModel) {
@Override
protected void populateItem(ListItem<PlayerResult> item) {
Label name = new Label("name", new PropertyModel<String>(item.getModel(), "player.name"));
Label surname = new Label("surname", new PropertyModel<String>(item.getModel(), "player.surname"));
Label results= new Label("results", item.getModelObject().getResults().size());
ListView<Result> scoreList= new ListView<Result>("scoreList", item.getModelObject().getResults()){
@Override
protected void populateItem(ListItem<Result> resultItem) {
item.add(new Label("score", new PropertyModel<Integer>(resultItem.getModel(), "scoreValue ? ")));
}
}
// ...
item.add(name);
item.add(surname);
item.add(results);
item.add(scoreList);
// ...
}
}
HTML:
<table>
<tr wicket:id="list">
<td><span wicket:id="name">[name label]</span></td>
<td><span wicket:id="surname">[surname label]</span></td>
<td><span wicket:id="results">[results label]</span></td>
<!-- and now variable number of tds -->
<td wicket:id="scoreList">
<span wicket:id="score"></span>
</td>
</tr>
</table>
你嘗試過這麼遠嗎?我會使用DataTable或AjaxFallbackDefaultDataTable。 – 2012-08-17 07:29:06
我遵循這個例子:http://www.wicket-library.com/wicket-examples/repeater/wicket/bookmarkable/org.apache.wicket.examples.repeater.AjaxDataTablePage?0但我不知道如何傳遞列表的類成列 – hudi 2012-08-17 07:32:20