ApacheWicket中的可排序列表视图

ApacheWicket中的可排序列表视图,wicket,Wicket,我已经成功地使用ListView以表格形式显示了数据。然而,我希望它是可排序的。我该怎么做呢?嗯。。也许它更适合以可排序的方式显示表格数据的用例。如果您需要更多解释或代码示例,请告诉我。您可以对传递给ListView的列表进行排序。 比如: final SortState sort = SortState.ByName; add(new ListView(id, new AbstractReadOnlyModel<ArrayList<Person>>() { pub

我已经成功地使用ListView以表格形式显示了数据。然而,我希望它是可排序的。我该怎么做呢?

嗯。。也许它更适合以可排序的方式显示表格数据的用例。如果您需要更多解释或代码示例,请告诉我。

您可以对传递给ListView的列表进行排序。 比如:

final SortState sort = SortState.ByName;
add(new ListView(id, new AbstractReadOnlyModel<ArrayList<Person>>() {
   public ArrayList<Person> getObject() {
     ArrayList<Person> list = makeList();
     Comparator<Person> comparator = getComparator(sort);
     Collections.sort(comparator, list);
     return list;
   }
});

add(new Link(sortByAgeLinkId) {
  public void onClick() { sort = SortState.ByAge;}
});
final SortState sort=SortState.ByName;
添加(新建ListView(id,new AbstractReadOnlyModel()){
公共ArrayList getObject(){
ArrayList=makeList();
比较器比较器=getComparator(排序);
集合。排序(比较器、列表);
退货清单;
}
});
添加(新链接(sortByAgeLinkId){
public void onClick(){sort=SortState.ByAge;}
});

…有关不同标准的更多链接。

一些基本示例可从中获得,如果您对实现有任何具体问题,请随时更新您的问题或编写新的问题。这些行显示错误,表示不应存在参数:PropertyModel model1=new PropertyModel(o1,getSort().getProperty());PropertyModel2=新的PropertyModel(o2,getSort().getProperty());我得到了这个例子。我现在的问题是我自己的实现,我可能需要重构他人制作的现有代码,以便集成排序。