1

我有一个带分页的数据表,我想用数据表之外的命令链接更改当前页面,我怎么能得到它?

<p:commandLink title="changePage" action="#{myBean.changeMethod}"
   update="myDataTable" />
<p:dataTable id="myDataTable" var="myItem" paginator="true" rows="1"
   value="#{myBean.ListOfItem}" binding="#{myBean.DataTable}">
  ...
  ...
</p:dataTable>

问候!

4

3 回答 3

15

这会将表格的页面设置为第一个

public void changeMethod() {
final DataTable d = (DataTable) FacesContext.getCurrentInstance().getViewRoot()
    .findComponent("myDataTable");
int first = 0;
d.setFirst(first);

}

或在客户端:

widgetVar.getPaginator().setPage(pageindex);

编辑: “first”属性表示要显示的第一行的索引

于 2013-07-09T10:50:29.673 回答
2

没关系,但现在在客户端的 primefaces 5.1 中,您必须这样做:

PF('widgetVar').getPaginator().setPage(pageindex);
于 2014-12-28T16:17:44.740 回答
1

对我来说效果很好,但是您必须输入整个组件名称

FacesContext.getCurrentInstance().getViewRoot().findComponent("form:panel:datatable");
于 2014-06-20T14:53:06.133 回答