Primefaces: definir página em tabela de dados
Eu tenho uma tabela de dados em primefaces e eu quero, quando eu adicionar uma linha nele, ver a última página da tabela de dados.
Minha página .xhtml é:
<code><h:form id=...> ... <p:dataTable var="webTemplate" id="templateTable" widgetVar="tbl1"/> ... </h:form> <h:form id=...> ... <p:inputText id="txt_description" value="#{templateController.templateDescription}" label="templateDescription"> <f:validateLength for="txt_name" minimum="1"/> <p:ajax event="change" listener="#{calculatePageTable.setPageTableTemplate}" onsuccess="setTabIndexTT()"/> </p:inputText> ... </h:form> <script type="text/javascript"> function setTabIndexTT(){ tbl1.getPaginator().setPage(#{calculatePageTable.pageTableTemplate}); } </script> </code>
feijão:
<code>@ManagedBean @SessionScoped public class CalculatePageTable { private int pageTableTemplate = 0; private int pageTableField = 0; public void setPageTableTemplate() { final DataTable d = (DataTable) FacesContext.getCurrentInstance().getViewRoot() .findComponent("form:templateTable"); pageTableTemplate = d.getPageCount() - 1; } public int getPageTableTemplate() { return pageTableTemplate; } public void setPageTemplateField() { final DataTable d = (DataTable) FacesContext.getCurrentInstance().getViewRoot() .findComponent("detailsTable:webTemplateUpdateTable"); pageTableField = (d.getPageCount() - 1); } public int getPageTableField() { return pageTableField; } } </code>
Mas a função js setTabIndexTT () nunca é chamada pelo onsuccess ajax ...
Como posso definir a última página da minha tabela de dados ao adicionar uma linha?
Versão Primefaces é 3.1.1