RichFaces: освободить столбцы сортировки из DataTable, когда включен режим сортировки по нескольким столбцам. - PullRequest
4 голосов
/ 26 мая 2011

В настоящее время я разрабатываю проект (JSF 2.0, RichFaces 3.3.3), в котором мне нужно получить DataTable с двумя столбцами с включенной сортировкой по нескольким столбцам (я уже сделал это с помощью свойства sortMode="Multi"), но,В отличие от сортировки по одному столбцу, в случае нескольких столбцов невозможно освободить столбец или столбцы, для которых выполняется сортировка (это делается в случае с одним столбцом, нажав на другой заголовок столбца).

Порядок сортировки блокируется во время сеанса: даже при переключении между вкладками мое веб-приложение поддерживает текущие параметры сортировки столбцов.Мне нужно восстановить эту конфигурацию в сеансе, чтобы позволить пользователю выбрать другой порядок сортировки, потому что в настоящее время единственный способ сбросить его - это выйти из системы и повторно войти.

Пример: когда пользователь делаетсортировка по столбцу A , а затем по столбцу B (или наоборот), и, учитывая, что я тоже использую свойство sortPriority (это требование я не могу изменить), комбинация пары AB блокируется, пока открыт текущий сеанс.Когда пользователю необходимо отсортировать DataTable только по одному столбцу (сортировать по A или B ), невозможно получить это в том же сеансе после выполнения сортировки по нескольким столбцам.

Есть ли какой-нибудь способ добиться нужного мне выпуска "комбинированная сортировка по столбцам"?

Заранее спасибо.

ОБНОВЛЕНИЕ:

Я разобралсячто в моей таблице данных только два столбца данных, единственный способ сделать это - переключить свойство sortMode между значениями "Multi" и "Single".Таким образом, я могу гарантировать, что, находясь в режиме сортировки по одному столбцу, он освободит комбинацию столбцов.

Кто-нибудь успешно работал с ситуацией необходимости присваивать значения rich:dataTable свойствам компонента во время выполнения с помощью javascript?

1 Ответ

0 голосов
/ 04 июня 2011

Проверьте атрибуты sortBy и sortOrder rich:dataTable и rich:column. Установив sortOrder="UNSORTED" на rich:column, он должен очистить сортировку этого столбца. Вы также можете установить sortOrder="UNSORTED" и / или sortBy="" на самом rich:dataTable для более простого решения (хотя я не пробовал). Это можно сделать в функции JavaScript onLoad или в bean-компоненте, атрибуты которого связаны с его свойствами.

Надеюсь, это будет немного элегантнее, чем играть с sortMode:)

...