我在primefaces中有一個數據表,我想在我添加一行時查看數據表的最後一頁。Primefaces:在數據表上設置頁面
我.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>
豆:
@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;
}
}
但js函數setTabIndexTT()永遠不會被阿賈克斯的onSuccess叫...
我怎麼也添加一行時,設置我的數據表的最後一頁?
Primefaces版本是3.1.1
+1。我使用了:((DataTable)FacesContext.getCurrentInstance()。getViewRoot()。findComponent(「myForm」)。findComponent(「myDataTable」))。setFirst(0)'每次刷新內容時都會轉到第一頁。 – falsarella 2012-09-27 11:38:09
我可以知道什麼是'ROWS_DATATABLE',表示在這裏?困惑 – 2014-11-24 08:53:29
我想使用primefaces-datatable的綁定屬性可以使代碼更乾淨(沒有硬編碼ID) – 2015-08-11 15:10:55