0

我有一个<p:dataTable >从按钮更新并且也被填充的。数据显示正确。但问题是当我单击/选择任何行时,没有响应;之前单击时,该行被突出显示,现在-> 没有突出显示。我已经做过很多次这种类型的设计,但这次<p:dataTable>表现很奇怪。我找不到问题的根源。

我的表格 XHTML 片段是:

<p:dataTable id="tblSales" rowIndexVar="rowsn"
             paginator="true" value="#{invSaleMB.dummyList}"
             var="saleObj" selectionMode="single"
             selection="#{invSaleMB.dummySaleObj}"
             rowKey="#{saleObj.item.itemTypeId}">

    <p:column headerText="#">
        <h:outputLabel value="#{rowsn+1}" />
    </p:column>
    <p:column headerText="Name">
        <h:outputLabel value="#{saleObj.item.itemTypeName}" />
    </p:column>
    <p:column headerText="Count">
        <h:outputLabel value="#{saleObj.count}" />
    </p:column>
    <p:column headerText="Unit Price">
        <h:outputLabel value="#{saleObj.unitPrice}" />
    </p:column>
    <p:column headerText="Total Price">
        <h:outputLabel value="#{saleObj.total}" />
    </p:column>
</p:dataTable>

我的支持 bean 是@ViewScoped.

另一个不响应更新触发器的<pe:inputNumber>组件是这个组件的值是'double'。我将其更改<pe:inputNumber><p:inputText>并运行良好并显示了准确的数据。

<pe:inputNumber id="totalCost" disabled="true" value="#{invSaleMB.totCost}" />

数据表和 pe:inputNumber 的格式相同。

4

1 回答 1

0

你在“之前”(工作)和“现在”(不工作)之间有什么变化?您确定“#{saleObj.item.itemTypeId}”对于表格的每个元素都是唯一的吗?页面的更多代码可能会有用。

要使 pe:inputNumber 正常工作,请记住在 html 标记中包含 xmlns:pe="http://primefaces.org/ui/extensions"。

于 2014-12-16T15:31:18.630 回答