使用两组数据的JSF数据表



我是JSF新手,在尝试在JSF数据表中显示数据子集时遇到了问题。问题描述:1. 我有一个绑定到模型的数据表,如下所示:

<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}"/>
  1. 当完整的数据列表(由pc_InvoiceCRMVUpdate.viewBean.invoice.invoiceLines返回)显示时,没有问题-我可以编辑和提交值并使它们正确地填充在数据模型中

  2. 显示数据子集(由pc_InvoiceCRMVUpdate.viewBean.invoice.invoiceLinesInError返回)时出现问题。我仍然可以编辑数据,但当我触发回完整列表的数据出现在错误的行。例如,如果子集的第一行被编辑,那么它们将出现在完整集合的第一行,依此类推。

  3. 在恢复视图阶段调用正确的数据模型方法。所以我期望在子集中正确的位置得到值。

有什么问题吗?

提前感谢!

罗马。

找到问题。这是JSF的幸运经验和愚蠢的错误。

FacesContext.getCurrentInstance().renderResponse();留在值更改监听器#{pc_InvoiceCRMVUpdate.displayOnlyLinesInError}中。

删除那行代码后,一切都开始工作了!

相关内容

  • 没有找到相关文章

最新更新