【发布时间】:2016-01-28 10:06:43
【问题描述】:
我的 .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>
还有我的豆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 中单击我的数据表的最后一页按钮?或者有没有其他方法可以解决!
感谢您的帮助
【问题讨论】:
-
尝试用这个替换oncomplete:
PF('dataTableWV').paginator.setPage(PF('dataTableWV').paginator.cfg.pageCount - 1); -
哦!好的!这个有效!但是如何将 : PF('widgetcategoryDT').paginator.setPage 放入 Bean 中??
-
使用这个:
RequestContext.getCurrentInstance().execute("PF('widgetcategoryDT').paginator.setPage ....')"); -
哦,是的!工作!你能把它作为答案发布吗?所以我可以选择它!?
标签: jquery jsf jsf-2 primefaces datatable