我有一个 primefacesp:dataGrid
组件,我想将最后一页设置为要显示的默认页面(不是第一页)。如何才能做到这一点 ?
我正在尝试p:dataGrid
在单击上一个和下一个自定义按钮时动态生成组件。当我单击上一个时,我想转到数据网格的最后一页,而不是第一个。
非常感谢你!
我有一个 primefacesp:dataGrid
组件,我想将最后一页设置为要显示的默认页面(不是第一页)。如何才能做到这一点 ?
我正在尝试p:dataGrid
在单击上一个和下一个自定义按钮时动态生成组件。当我单击上一个时,我想转到数据网格的最后一页,而不是第一个。
非常感谢你!
您需要在支持 bean 中检索组件并手动设置要显示的第一行(您必须实际计算)。根据第一行 Primefaces 计算将显示的页面。
首先将preRenderView
事件监听器添加到您的页面:
<f:metadata>
<f:event listener="#{myBean.initDatagrid}" type="preRenderView"/>
</f:metadata>
并在支持bean中执行逻辑:
public void initDatagrid() {
FacesContext fc = FacesContext.getCurrentInstance();
if (!fc.isPostback()) {
DataGrid dg = (DataGrid) fc.getViewRoot().findComponent("dataGrid_id");
int firstRow = initFirstRow(); // set firstRow to first row on last page that should be displayed
dg.setFirst(firstRow);
}
}