我有 p:dataTable
<h:form id="forms" styleClass="tTablas" prependId="false">
<p:dataTable var="row" id="list" value="#{BB.dataTable}" rowIndexVar="i">
<p:column headerText="id">
<h:outputText value="#{row.id}" />
</p:column>
<p:columns var="fecha" value="#{BB.lFechaEntradaVigor}">
<f:facet name="header">
<h:outputText value="#{fecha}" />
</f:facet>
<h:outputText value="#{row.getCoste(fecha)}" styleClass="#{row.isValido(fecha)?'vigor':''}" rendered="#{!row.isUpdatable(fecha)}">
<f:convertNumber groupingUsed="true" minFractionDigits="2" />
</h:outputText>
<h:inputText value="#{BB.valor}" rendered="#{row.isUpdatable(fecha)}">
<f:convertNumber groupingUsed="true" minFractionDigits="2" />
<f:ajax render="@this" listener="#{grupoValoracionSiaBB.changeValor(fecha, row, i)}" />
</h:inputText>
</p:columns>
</p:dataTable>
</h:form>
我这样做了dataTable
,因为p:columns
不接受p:cellEditor
,我需要知道哪些列已更新,然后我创建了方法changeValor(Date fecha, Object enitidad, Integer fila)
并且我调用了在f:ajax
listener
,但不要解雇
任何想法???
THX
答案 0 :(得分:1)
你应该使用p:inputText和p:ajax并在p:ajax标签中添加process =“@ this”和事件。