Столбец сортировки по умолчанию в rich: datatable - PullRequest
5 голосов
/ 31 мая 2011

У меня есть rich: dataTable с несколькими сортируемыми столбцами.

<rich:column sortBy="#{user.uid}">
...
<rich:column sortBy="#{user.sn}">
...
etc.

Сортировка работает отлично. Однако при загрузке страницы таблица всегда сортируется по 1-му столбцу. Как установить столбец сортировки по умолчанию? (например, тот, что с user.sn)

Ответы [ 3 ]

14 голосов
/ 12 октября 2011

Порядок сортировки столбца определяется его свойством sortOrder: NONE, ASCENDING или DESCENDING.

По умолчанию это свойство равно NONE - поэтому изначально таблица не сортируется ни по одному столбцу (ни по первому).Он использует порядок модели данных.

Чтобы определить начальный столбец сортировки, задайте sortOrder этого столбца, например,

<rich:column sortBy="#{user.sn}" sortOrder="ASCENDING">

Это верно для rich: dataTable, rich: scrollableDataTable и rich: extendedDataTable.

1 голос
/ 31 мая 2011

Я не уверен, как это сделать с rich:dataTable.Но я имею в виду, что я переключился на аналогичный запрос функций (индивидуальный порядок и сортировка таблиц) на rich:extendedDataTable.Там вы можете создать привязку к tableState и установить, например, следующие свойства:

{
"columnsVisibility":{"cCountry":"1","cProject":"1","cStatus":"1","cNumber":"1"},
"columnGroupingState":{"order":"ASCENDING","columnId":"cStatus"},
"columnsSizeState":{"cCountry":"98","cProject":"242","cStatus":"80","cNumber":"55"},
"columnsOrder":["cCountry","cProject","cNumber","cStatus"]
}
0 голосов
/ 31 мая 2011

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

...