Как обновить сортировку заголовков GXT Local Pagination (PagingModelMemoryProxy)

Мне нужно настроить результат сортировки заголовков одного столбца с помощью 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);
                    }
                }
            }
        }
    }

Но сортировка заголовков (по возрастанию или по убыванию) больше не работает после того, как я переопределю «загрузить». Что я действительно хотел сделать, так это то, что когда пользователь нажимает «По возрастанию», он будет выполнять сортировку по убыванию, а при спуске он также будет выполнять противоположное поведение сортировки по возрастанию.


person user1899646    schedule 13.12.2012    source источник


Ответы (1)


Сортировка должна выполняться на вашем загрузчике примерно так:

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