私はApacheWicketを使用しています...
私はJavaクラスを持っています:タスク。アクティブなタスクと完了したタスクがあります。
アクティブなタスク用に並べ替え可能なdataViewがあります。
final DataView<LongRunningTask> dataViewActive = new DataView<LongRunningTask>("sorting", dp) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final Item<LongRunningTask> item) { LongRunningTask task = item.getModelObject(); if(task.getRemainingTime() <= 0) { finishedTasks.add(item); } item.add(new Label("taskId", String.valueOf(task.getTask().getId()))); item.add(new Label("startedBy", task.getTask().getUser())); item.add(new Label("characteristics", String.valueOf(task.getTask().getType() + " : " + task.getTask().getNoOfMessages()) + " : " + task.getTask().getTemplateFile())); Label clock = new Label("timer", String.valueOf(task.getRemainingTime())); item.add(clock); clock.setOutputMarkupId(true); item.add(new ActionPanel("actions", item.getModel())); } };
次に、FINISHEDタスクのデータビューを作成します。タスクが終了した場合(Task.finished = true)、タスクをアクティブなデータビューから削除して、終了したデータビューに追加する必要があります。
final DataView<LongRunningTask> dataViewFinished = new DataView<LongRunningTask>("sorting", dp) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final Item<LongRunningTask> item) { LongRunningTask task = item.getModelObject(); if(task.getRemainingTime() <= 0) { finishedTasks.add(item); } item.add(new Label("taskId", String.valueOf(task.getTask().getId()))); item.add(new Label("startedBy", task.getTask().getUser())); item.add(new Label("characteristics", String.valueOf(task.getTask().getType() + " : " + task.getTask().getNoOfMessages()) + " : " + task.getTask().getTemplateFile())); Label clock = new Label("timer","finished"); item.add(clock); clock.setOutputMarkupId(true); item.add(new ActionPanel("actions", item.getModel())); } };
どうやってやるの?2番目のデータビューを作成できますが、UIの問題と競合がありました。最善の方法は何ですか?
よろしく