2013-06-28 1 views
2

Я использую сортировку в формате шрифтов datatable, и это не работает с paginator. Где я ошибся?Сортировка в неподходящих объектах не работает

<p:column headerText="Year" sortBy="#{questionnaireListBean.getQuestionnaireData(questionnaire, 'YEAR')}"> 
    #{questionnaireListBean.getQuestionnaireData(questionnaire, 'YEAR')} 
</p:column> 

И вид боб с областью действия инициализации данных в методе @PostConstruct:

public String getQuestionnaireData(Questionnaire questionnaire, String column) { 
    return questionnairesData.get(questionnaire).get(column); 
} 
+0

Какую версию перформанса вы используете? – Akheloes

+0

Плюс: как заполняется вопросник на странице JSF? Есть ли ошибка исключения или типа? – Akheloes

+0

Поверхности 3.5. Когда я пытаюсь удалить сортировку paginator, она работает правильно. С paginator не работает, без исключений. – dmitrievanthony

ответ

3

Так истинное название вашего вопроса: «Сортировка и нумерация страниц не работают вместе в ленивой загрузки DataTable, primefaces «, это более точное описание вашей проблемы.

Что касается этой проблемы, она считает, что вы должны ожидать проблемы. В this link вопрос был «Есть ли какой-либо компонент данных JSF, который может выполнять ленивую разбивку на страницы, а также фильтровать и сортировать на стороне сервера. Если мне нужно реализовать собственное решение благодаря командам, которые сделали сортировку и фильтрацию на стороне клиента, они бесполезны ", на которые пришел ответ « Нет, нет. Поскольку библиотека компонентов не может знать, каким будет механизм сохранения ».. Конечно, что датировано 2010 ...

Взглянув в Primefaces user guide 3.5, он apprears что сортировки/Paginator/отложенная загрузка может сожительствовать, но это больше elaborte тогда просто добавив sortBy к столбцам. На самом деле, проверка страницы 144 направляющей, вы можете увидеть, что вам нужно:

  • имеют LazyDataModel объект в компоненте;
  • Переопределение метода load данного объекта;
  • Привяжите значение вашего типа данных к этой модели.

Выполнение этой задачи, возможно, будет сортироваться вместе с ленивой загрузкой. Не пробовал, но это похоже на вашу проблему.

Удачи.

+1

Пожалуйста, не забудьте опубликовать некоторые отзывы о том, как вы решили проблему или ваш прогресс в целом, вот что такое сообщество: для вас есть несколько следов для пользователей futur :) (плюс, меня интересует LOL). Удачи ! – Akheloes

+0

+1 Меня интересует проект решения. – Mindwin