我是JSF的新手,並試圖在JSF數據表中顯示數據的子集時出現問題。 問題描述: 1.我有一個確定時代綁定到模型象下面這樣:JSF數據表工作兩組數據
<h:dataTable border="1" cellspacing="0" cellpadding="0" id="invoiceLinesUpperDt" styleClass="basic-table" value="#{pc_InvoiceCRMVUpdate.viewBean.showInvoiceLinesInError? pc_InvoiceCRMVUpdate.viewBean.invoice.invoiceLinesInError : pc_InvoiceCRMVUpdate.viewBean.invoice.invoiceLines}" var="invoiceLine">
我有兩個數據集之間觸發像下方的複選框:
<h:selectBooleanCheckbox id="displayOnlyLinesInErrorCb" immediate="false" value="#{pc_InvoiceCRMVUpdate.viewBean.showInvoiceLinesInError}" onclick="javascript: document.forms['invoiceCRMVUpdateForm'].submit();" valueChangeListener="#{pc_InvoiceCRMVUpdate.displayOnlyLinesInError}"/>
當滿顯示數據列表(由pc_InvoiceCRMVUpdate.viewBean.invoice.invoiceLines返回)顯示沒有問題 - 我可以編輯並提交值並使其正確填充到數據模型中
當數據的子集(由pc_InvoiceCRMVUpdate.viewBean.invoice.invoiceLinesInError返回)顯示時出現問題。我仍然可以編輯數據,但是當我觸發回完整列表時,數據出現在錯誤的行中。例如,如果編輯的第一行子集被編輯,那麼它們出現在全套的第一行,依此類推。
在還原視圖階段調用正確的數據模型方法。所以我期望在子集中的正確位置獲取值。但我沒有得到它們。
可能是什麼問題?
在此先感謝!
羅馬。
發現問題。與JSF的經驗運氣和愚蠢的錯誤。 剛剛離開FacesContext.getCurrentInstance()。renderResponse();在值更改偵聽器「#{pc_InvoiceCRMVUpdate.displayOnlyLinesInError}」中。刪除該行代碼後,一切都變得有效了! – Roman 2011-04-19 15:12:33