Sorting Gwt CellTable仅逐页排序

Sorting Gwt CellTable仅逐页排序,sorting,gwt,celltable,Sorting,Gwt,Celltable,GWTCellTablecolumn仅逐页排序,对于每个页面,我必须单击列标题 用于分类。 如何在单个标题单击上对整个数据进行排序。 这是我的密码 dataProvider=newlistdataprovider(); dataProvider.addDataDisplay(dgrid); List List=dataProvider.getList(); 用于(列表联系人:测试){ dataProvider.setList(测试); 列表。添加(联系人); } ListHandler colu

GWT
CellTable
column仅逐页排序,对于每个页面,我必须单击列标题 用于分类。 如何在单个标题单击上对整个数据进行排序。 这是我的密码

dataProvider=newlistdataprovider();
dataProvider.addDataDisplay(dgrid);
List List=dataProvider.getList();
用于(列表联系人:测试){
dataProvider.setList(测试);
列表。添加(联系人);
}
ListHandler columnSortHandler=新的ListHandler(dataProvider.getList());
System.out.println(“列计数->”+dgrid.getColumnCount());

对于(int j=0;j我建议您重写
ListHandler
,重写并调用
super.oncolumnSortent(ColumnSortEvent)
来调试
oncolumnSortt(ColumnSortEvent)
方法,您将很快了解发生了什么

该方法的源代码非常直接

public void onColumnSort(ColumnSortEvent事件){
//获取已排序的列。
Column Column=event.getColumn();
if(列==null){
返回;
}
//获取比较器。
最终比较器比较器=比较器.get(列);
if(比较器==null){
返回;
}
//使用比较器进行排序。
if(event.isSortAscending()){
集合。排序(列表、比较);
}否则{
Collections.sort(list,newcomparator(){
公共整数比较(tO1,tO2){
返回-比较器。比较(o1,o2);
}
});
}
}

重写ListHandler的唯一原因是为了将此表与其他表隔离(并避免多次触发调试器),如果您的项目很简单,您可以自然地将断点直接放在该方法中