Настраиваем VO для работы с многостраничными запросами
В свойствах итератора выставляем то же количество записей:
Для таблицы с постраничным выводом количество записей получается через функцию
getEstimatedRowCount() объекта ViewObjectImpl
Пройти по всем записям можно через два цикла, первый - цикл по страницам, второй по записям на каждой странице, примерно так:
public void onLoop(ActionEvent actionEvent) {
long row_count = getVoImpl().getEstimatedRowCount();
long rows_per_page = getVoImpl().getRangeSize();
long page_count = row_count / rows_per_page + 1;
System.out.println("total rows:" + row_count + " rows at page:" + rows_per_page + " numb of pages:" + page_count);
int m = 1;
for(int i=1;i<=page_count;i++) {
System.out.println("--- Page: " + i);
getVoImpl().scrollToRangePage(i);
for(int j=0; j<rows_per_page && m<=row_count; m++, j++) {
Row row = getVoImpl().getRowAtRangeIndex(j);
System.out.println(m +" "+ row.getAttribute(0)+ " " + row.getAttribute(2) );
}
}
}
Тестовое приложение TestHr1.rar
Комментариев нет:
Отправить комментарий