Ho un datatable in primefaces e voglio, quando aggiungo una riga in esso, visualizzare l'ultima pagina del datatable.Primefaces: set page su datatable
La mia pagina .xhtml è:
<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>
di fagioli:
@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;
}
}
Ma la funzione di setTabIndexTT js() non viene mai chiamato da ajax onSuccess ...
Come posso imposta l'ultima pagina del mio datatable quando aggiungi una riga?
versioneprimefaces è 3.1.1
+1 per il d.setFirst (prima) ',' p ajax onsucces =' widgetVar.getPaginator() setPage (pageIndex).>'. Nel mio caso, ho usato: '((DataTable) FacesContext.getCurrentInstance() getViewRoot() findComponent ("MyForm") findComponent ("myDataTable")...).setFirst (0) 'per andare alla prima pagina ogni volta che aggiorno il contenuto. – falsarella
Posso sapere cosa è 'ROWS_DATATABLE' che indica qui ?? confuso –
Suppongo che l'uso dell'attributo-binding dei dati primari-datatable renda il codice sopra più pulito (senza ID hardcoded) –