我需要使用GXT Local Pagination(PagingModelMemoryProxy)自定义一列的标题排序结果。这是我的代码:
PagingModelMemoryProxy proxy = new PagingModelMemoryProxy(data) {
@Override
public void load(DataReader<PagingLoadResult<? extends ModelData>> reader, Object loadConfig,
AsyncCallback<PagingLoadResult<? extends ModelData>> callback) {
if (loadConfig instanceof PagingLoadConfig) {
PagingLoadConfig pagingConfig = (PagingLoadConfig) loadConfig;
// sort order must be changed because CRITICAL has lowest number
SortInfo sortInfo = pagingConfig.getSortInfo();
if (ActiveAlarmBean.SEVERITY.equals(sortInfo.getSortField())) {
if (SortDir.ASC == sortInfo.getSortDir()) {
sortInfo.setSortDir(SortDir.DESC);
}
else {
sortInfo.setSortDir(SortDir.ASC);
}
}
}
}
}
但是在我覆盖“加载”后,标题排序(升序或降序)不再有效。我真正想要做的是当用户点击升序时它将执行降序排序行为,而降序它也会做相反的升序排序行为。
答案 0 :(得分:0)
应该在您的加载程序上进行排序,如下所示:
loader.setSortField("id_field");
if (loader.getSortDir().equals(SortDir.DESC)){
loader.setSortDir(SortDir.ASC);
} else {
loader.setSortDir(SortDir.DESC);
}