パネル内で、取り外し可能なモデルを持つテーブルに listView を追加しています。
編集:
public class TaskDetailsPanel extends Panel {
...
public TaskDetailsPanel(String id, CompoundPropertyModel<LongRunningTask> model) {
super(id, model);
Task task = (LongRunningTask) getDefaultModelObject();
List<Timeframe> testList = task.getTimeframes();
DetachableTimeframeModel dtm = new DetachableTimeframeModel(new Model<Task>(task));
ListView frames = new ListView("frame", dtm) {
@Override
protected void populateItem(ListItem item) {
Timeframe tf = (Timeframe) item.getModelObject();
item.add(new Label("time", "von - bis"));
item.add(new Label("sentFiles", String.valueOf(tf.getSentFiles())));
item.add(new Label("receivedFiles", String.valueOf(tf.getReceivedFiles())));
item.add(new Label("missingMsgIds", String.valueOf(tf.getMissingMsgIds())));
item.add(new Label("receivedMsgIds", String.valueOf(tf.getReceivedMsgIds())));
}
};
frames.setOutputMarkupId(true);
add(frames);
...
}
}
ここに私のカスタムdetableモデルがあります:
class DetachableTimeframeModel extends LoadableDetachableModel {
LongRunningTask task;
public DetachableTimeframeModel(LongRunningTask t) {
task = t;
}
@Override
protected List<Timeframe> load() {
return task.getTimeframes();
}
}
パネル内に新しいリスト List (たとえば ArrayList) を定義して項目を追加すると、機能します。しかし、リストが別の JavaBean からのものである場合、失敗します。
私は何が欠けていますか?