JSF数据表使用两组数据

时间:2011-04-19 13:54:30

标签: 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. 在恢复视图阶段,调用正确的数据模型方法。所以我希望在子集中的正确位置获取值。但是我没有得到它们。

  4. 可能是什么问题?

    提前致谢!

    罗马。

1 个答案:

答案 0 :(得分:0)

发现问题。这是对JSF和愚蠢错误的经验。

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

删除该行代码后,一切正常运行!