0

设置:一个(特立尼达)JSF 页面,带有一些输入和几个按钮,其中一个是“搜索”。搜索的操作是获取输入并将它们用作调用数据库的搜索参数,然后将这些显示在<tr:table>隐藏的 a 中,直到支持 bean 返回搜索结果。该表使用该rows属性将数据分成范围;我们将此设置为 10,如果用户设置非常宽松的参数,搜索可以返回 100 多个结果。

场景:用户进行了搜索并翻阅了表格。用户更改输入参数并再次单击“搜索”。

期望结果:表格中显示的新结果,表格位于第 1 页,即。记录 1 到 10。

实际结果:表格中显示的新结果,表格位于用户之前访问过的任何页码处。

我的问题:<tr:table>当前页面范围没有任何 getter/setter,至少我在文档中找不到。我可以在 bean 或页面中做些什么,这样当从 DB 返回新结果时,表会转到第一页/范围?

4

1 回答 1

0

我的特立尼达表有绑定,我通过以下方式解决了这个问题:

mytable.setFirst(0);

mytable 声明为:org.apache.myfaces.trinidad.component.core.data.CoreTable

但这也应该有效:

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

我正在使用特立尼达 1.2.14

于 2011-03-29T05:59:11.713 回答