Как заставить таблицу Тринидад с установленными строками отображать первую страницу / диапазон? - PullRequest
0 голосов
/ 28 марта 2011

Настройка: Страница JSF (Тринидад) с несколькими входами и парой кнопок, одной из которых является «Поиск». Действие поиска состоит в том, чтобы взять входные данные и использовать их в качестве параметров поиска для вызова в базу данных, а затем отображает их в <tr:table>, который скрыт до тех пор, пока компонент поддержки не вернется с результатами поиска. В таблице используется атрибут rows, чтобы разбить данные на диапазоны; у нас установлено значение 10, и поиск может вернуть более 100 результатов, если пользователь устанавливает очень свободные параметры.

Сценарий: Пользователь выполнил поиск и пролистал таблицу. Пользователь изменяет входные параметры и снова нажимает «Поиск».

Желаемый результат: Новые результаты показаны в таблице с таблицей в PAGE ONE, т.е. записи с 1 по 10.

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

Мой вопрос: <tr:table> не имеет никакого метода получения / установки для текущего диапазона страниц, по крайней мере, я не мог найти в документации. Могу ли я что-нибудь сделать в бине или на странице, чтобы при возврате новых результатов из БД таблица переходила на первую страницу / диапазон?

1 Ответ

0 голосов
/ 29 марта 2011

мои таблицы тринидадов имеют привязки, и я решил эту проблему следующим образом:

mytable.setFirst(0);

mytable объявлен как: org.apache.myfaces.trinidad.component.core.data.CoreTable

Но это также должно работать:

((CoreTable)FacesContext.getCurrentInstance().getViewRoot().findComponent("IdofyourTable")).setFirst(0);

Я использую Тринидад 1.2.14

...