jquery - 如何从 bean 跳转到 Primefaces 数据表到最后一页?

标签 jquery jsf jsf-2 primefaces datatable

我的 .xhtml 中有一个数据表,如下所示:

<p:dataTable var="category" value="#{beanView.categories}" paginator="true" rows="5" 
 paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
 rowsPerPageTemplate="5,10" id="categoryDT" styleClass="categoryClass"    
 editable="true" lazy="false" rowKey="#{category.id}">
 <!-- columns -->
<f:facet name="footer">
    <p:commandButton id="btnNewCat" 
      oncomplete="jQuery('.categoryClass').find('span.ui-icon-pencil').last().click();" 
    actionListener="#{beanView.onNewCategory}" 
    update="categoryDT" icon="ui-icon-plus" title="New Category" value="New Category" ></p:commandButton>
</f:facet></p:dataTable>

还有我的 bean beanView :

public void onNewCategory(final ActionEvent actionEvent) {

    try {
        int rowCount = dataTable.getRowCount();
        int rowsPerPage = dataTable.getRows();
        int lastPage = rowCount / rowsPerPage;
        int rowFirst = (lastPage * rowsPerPage);

        if (rowCount >= rowsPerPage) {
            dataTable.setFirst(rowFirst);
            dataTable.setPageLinks(lastPage + 1);
            dataTable.setRowIndex(rowCount - 1);
        } else {
            ....
        }

        ....
     }
 }

但这实际上行不通!最后一页将不会显示!

可以从 bean 单击我的数据表的最后一页按钮吗?或者有其他方法可以解决吗!

感谢您的帮助

最佳答案

您可以通过 commandButton 的 oncomplete 来实现此目的:

<p:commandButton oncomplete="PF('dataTableWV').paginator.setPage(PF('dataTableWV').paginator.cfg.pageCount - 1);"/>

或者从托管 bean:

RequestContext.getCurrentInstance().execute("PF('dataTableWV').paginator.setPage(PF('dataTableWV').paginator.cfg.pageCount - 1);");

注意:dataTableWV是dataTable的widgetVar。

关于jquery - 如何从 bean 跳转到 Primefaces 数据表到最后一页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33394352/

相关文章:

jquery - 使用 jQuery 将链接替换为其文本

java - 加载 JSF 页面时执行方法的命令

jsf - 如何以 1 秒的间隔对组件进行 ajax 更新?

java - Primefaces 在单元格中编辑数据表 event.getNewValue() 将旧值发送给bean

javascript - js或php函数前的下划线是什么意思?

jquery - 如何使用 jquery 切换 svg 的动画?

javascript - 如果未单击一组元素,如何触发事件

jsf - "IllegalArgumentException: Can not set [EJB interface] field [managed bean field] to com.sun.proxy.$Proxy[some number]"与 OmniFaces 的@Eager

java - JSF Composite 组件仅在一页中运行

启用 HTTPS 后对 JSF 应用程序的安全威胁/攻击