如何刷新GXT Local Pagination(PagingModelMemoryProxy)标题排序

时间:2012-12-13 02:51:54

标签: gwt extjs gxt gwt-ext

我需要使用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);
                    }
                }
            }
        }
    }

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

1 个答案:

答案 0 :(得分:0)

应该在您的加载程序上进行排序,如下所示:

loader.setSortField("id_field");
if (loader.getSortDir().equals(SortDir.DESC)){
   loader.setSortDir(SortDir.ASC);
} else {
   loader.setSortDir(SortDir.DESC);
}