В настоящее время я разрабатываю проект (JSF 2.0, RichFaces 3.3.3), в котором мне нужно получить таблицу данных с двумя столбцами с включенной сортировкой по нескольким столбцам (я уже сделал это с помощью свойства sortMode="Multi"
), но, в отличие от сортировки по одному столбцу, в случае нескольких столбцов я не могу освободить столбец или столбцы, для которых выполняется сортировка (это делается в случае одного столбца, щелкнув заголовок другого столбца).
Порядок сортировки блокируется во время сеанса: даже при переключении между вкладками мое веб-приложение сохраняет текущие настройки сортировки столбцов. Мне нужно восстановить эту конфигурацию в рамках сеанса, чтобы позволить пользователю выбрать другой порядок сортировки, потому что в настоящее время единственный способ сбросить его — выйти из системы и снова войти.
Пример: когда пользователь выполняет сортировку по столбцу A, а затем по столбцу B (или наоборот), и учитывая, что я также использую свойство sortPriority
(это требование, которое я не могу изменить), комбинация пары AB блокируется, пока текущая сессия открыта. Когда пользователю нужно отсортировать DataTable только по одному столбцу (отсортировать по A или B), невозможно получить это в том же сеансе после выполнения сортировки по нескольким столбцам. .
Есть ли способ добиться нужного мне "выпуска комбинированной сортировки столбцов"?
Заранее спасибо.
ОБНОВИТЬ:
Я понял, что только с двумя столбцами данных в моей таблице данных единственный способ сделать это — каким-то образом переключить свойство sortMode
между значениями "Multi"
и "Single"
. Таким образом, я мог бы гарантировать, что в режиме сортировки по одному столбцу он освободит комбинацию столбцов.
Кто-нибудь успешно работал с ситуацией, когда приходится присваивать значения свойствам rich:dataTable
компонентов во время выполнения с помощью javascript?