2010-06-03 3 views
2

Я разрабатываю веб-приложение с использованием JSF, RichFaces, EJB3, Hibernate и Seam.Проблема с сортировкой RichFS Extendeddatatable

У меня есть расширенная таблица данных и список (например, userList), в котором есть несколько столбцов. Более того, из-за этого этот тип данных выбирается, я хочу сохранить выбранные индексы строк, даже если сортировка будет изменена пользователем.

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

Есть ли у вас какие-либо идеи о том, какой слушатель или метод вызывается, когда пользователь сортируется по сортировке в rich extendeddatatable? Я не могу понять, в чем дело ...

Любая помощь будет оценена по достоинству. Большое спасибо, Baris

+1

Я замечаю, что этот вопрос составляет почти 2 года. Вы поняли это, @Bariscan? Если да, можете ли вы опубликовать свой ответ здесь? – Lisa

+0

Я действительно не помню, так сожалею :(Но я бы взял эту оппортунитизацию, чтобы предлагать не просто интерфейсы, а удобство, удобство и гибкость. – Javatar

+1

Я боюсь, что это не поможет тем, кто используется в RichFaces, уже существующим стратегия компании. :) – Lisa

ответ

0

Образец кода был бы приятным, но похоже, что у вас есть отдельный список, содержащий выбранные индексы, и обновляйте этот список только на выбранном событии.

Рассматривали ли вы, имеющие состояние выбора живой с объектом данных через боба:

public DataBean { 
    private DataModel model; 
    private boolean selected; 

    //standard getters and setters omitted 
} 

JSF код:

<h:column> 
    <h:selectBooleanCheckbox value="dataBean.selected"> 
    <a4j:support event="onclick" ajaxsingle="true" /> 
    </h:selectBooleanCheckbox> 
</h:column> 

Tie состояние вашего выбора модели, как это и сортировки выиграл» вообще не проблема.

+2

Большое спасибо за ваш ответ. Даже если ваш подход хороший, он не имеет прямого отношения к моей проблеме. Я просто хотел бы узнать, как я могу вызвать действие, когда пользователь нажимает на маленькую стрелку сортировки, которая помещается вверху каждого столбца отдельно. <богатых: столбец сортируется = "истина" SortBy = "# {} cap.userId" \t \t \t \t filterBy = "# {cap.userId}" filterEvent = "OnKeyUp" ширина = "170 пикселей" ID =» col1" \t \t \t \t этикетка = "идентификатор пользователя"> \t \t \t \t \t \t \t \t \t <ч: outputText значение = "идентификатор пользователя" ID = "OUT1" /> \t \t \t \t \t \t <ч: outputText значение = "# {} cap.userId" ID = "out2" /> Javatar

+0

Проблема вы заявили, что вы проигрывали состояние выбора ваших рядов после сортировка ... – Naganalf

+1

Для расширенной таблицы данных не требуется использование selectbooleancheckbox для сохранения состояния выбора.Вот почему я не предпочитаю использовать флажок в моем случае, это отходы, в то время как расширенные вкладки позволяют пользователю выбирать строку, просто щелкнув по самой строке. Таким образом, актуальная проблема заключается в том, что я синхронизирую расширенный список с моим списком, полученным от бэкбона. Я могу получить выбранный ключ строки. Но когда сортировка изменена, она не совпадает с ключом строки с моим списком результатов. В результате, если я могу выполнить действие, когда пользователь нажимает на сортировку стрелки, все будет нормально. Как я могу выполнить действие как сортировку? – Javatar

Смежные вопросы