Я не знаю, прав ли я, но насколько я знаю, количество страниц, показанных на rich: datascroller, основан на размере списка, заполняющего данные.rich: datascroller количество страниц в зависимости от общего количества записей, а не от количества строк из данных datatable
Но вот что: предположим, что в общей сложности будет показано 20 записей. Я просто хочу запросить 10 из них и сделать так, что на datascroller есть две страницы. Я не могу запросить все мои записи, потому что может быть время, которое составляет более 300 000 записей. Я не могу оставить его в памяти. В любом случае, это может быть достигнуто?
Вот мой код до сих пор:
<rich:datascroller for="grdPemissoes" maxPages="5"
reRender="contentResultadoTable, labelResultados"
page="#{actionDivisao.pageIndex}"
pageVar="#{actionDivisao.totalPages}"
eventsQueue="queueScroller"
</rich:datascroller>
<rich:dataTable id="grdPemissoes" rowClasses=" ,td_cinza"
value="#{actionDivisao.listaResultados}"
styleClass="table table-search-result"
var="divisao" rowKeyVar="row"
rows="#{actionDivisao.registrosPorPagina}">
//columns
</rich:dataTable>
Поскольку всегда есть 10 записей, нет никаких страниц, которые будут показаны. Я использую richfaces 3 и jsf 1.2.
Вы можете взять эти 20 записей и поместить их в '# {actionDivisao.listaResultados}' – Makhiel
То же самое, что и запрос всех результатов и их размещение в памяти. Я просто хочу запросить первые 10 результатов и позволить datascroller думать, что есть более 10 записей, поэтому страницы будут отображаться –
Когда модель данных используется для таблицы данных, тогда количество страниц = listSize/recordPerPage. Но в этом случае вам не нужно хранить весь список в памяти. Вы можете получать записи, относящиеся к текущей странице. Или вы всегда можете получить этот размер вдвое и отобразить его на двух страницах. –