1

我需要使用 GXT 本地分页 (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);
                    }
                }
            }
        }
    }

但是在我覆盖“加载”后,标题排序(升序或降序)不再起作用。我真正想做的是,当用户单击升序时,它会执行降序排序行为,而在降序时,它也会执行相反的升序排序行为。

4

1 回答 1

0

排序应该在你的装载机上完成,如下所示:

loader.setSortField("id_field");
if (loader.getSortDir().equals(SortDir.DESC)){
   loader.setSortDir(SortDir.ASC);
} else {
   loader.setSortDir(SortDir.DESC);
}
于 2013-02-11T15:51:10.067 回答