我的目标是在新搜索后重置datascroller的第一页。 这应该通过以下声明来完成:
getTableScroller().getUIData().setFirst(index);
我的问题是,在我将数据循环器与bean绑定后,它将不会被渲染。就在我按下搜索按钮一秒钟后,它将被渲染。
豆:
public class HistoryBean {
private HtmlDataScroller tableScroller = new HtmlDataScroller();
// ...
的facelet:
<t:dataScroller id="scroll_1"
for="data"
fastStep="10"
pageCountVar="pageCount"
pageIndexVar="pageIndex"
styleClass="scroller"
paginator="true"
paginatorMaxPages="9"
paginatorTableClass="paginator"
paginatorActiveColumnStyle="font-weight:bold;"
immediate="true"
actionListener="#{historyBean.scrollerAction}"
binding="#{historyBean.tableScroller}"
>
如果我删除了binding
属性,它将在初始请求时呈现。我忘记了什么?
答案 0 :(得分:2)
您不应该将组件绑定到范围比请求范围更广的bean。
而是直接在视图中指定first
属性。
<t:dataScroller first="#{historyBean.index}" ...>