Я работаю с таблицей данных, которую можно расширить, чтобы показать варианты продукта. Этот вариант должен быть редактируемым, и я подумал о том, чтобы сделать это на месте. Однако при попытке сохранить новое не отправляется на сервер.
Вот часть xhtml
<h:form>
<p:dataTable id="grid-anuncios"
value="#{gerenciadorAnuncioController.model}"
selection="#{gerenciadorAnuncioController.anunciosMLSelecionados}"
rowKey="#{anuncio.id}"
rowHover="false"
editable="true"
editMode="row"
var="anuncio"
emptyMessage="Nenhum anúncio encontrado"
rows="50"
resizableColumns="true"
styleClass="Top GrayBorder BoxShadow"
paginator="true"
lazy="true">
<!--columns and stuff-->
<p:rowExpansion>
<div class="flexPanels">
<ui:repeat value="#{anuncio.variations}"
var="variacao">
<p:outputPanel styleClass="panelVariacoes BoxShadowLight">
<div class="panelVariacoesHeader">
<p:graphicImage value="#{variacao.urlPrimeiraImagem}" styleClass="logoImage" />
</div>
<div class="panelVariacoesBody">
<p:outputPanel class="MarBot5 Fs15">
<h:outputText styleClass="FontLatoBold" value="Qtd: " />
<!-- The problem seems to be here -->
<p:inplace editor="true">
<p:ajax event="save"
process="@parent"
listener="#{gerenciadorAnuncioController.gravarQuantidadeVariacao(anuncio, variacao)}"
update=":growl-principal"/>
<f:facet name="output">
<h:outputText value="#{variacao.availableQuantity}" />
</f:facet>
<f:facet name="input">
<mml:inputNumber value="#{variacao.availableQuantity}"
required="true"
type="integer"
styleClass="Wid70px"/>
</f:facet>
</p:inplace>
</p:outputPanel>
<div class="Separator"></div>
<ui:repeat value="#{variacao.attributeCombinations}" var="atributo">
<div class="JC-FlexBox MarBot5 Fs15">
<h:outputText styleClass="FontLatoBold" value="#{atributo.name}: " />
<h:outputText value="#{atributo.valueName}" />
</div>
</ui:repeat>
</div>
</p:outputPanel>
</ui:repeat>
</div>
</p:rowExpansion>
<p:dataTable>
<h:form>
Если при отладке при щелчке на месте у метода gravarQuantidadeVariacao будет доступно availableQuantity с предыдущим значением, а не с новым.
Текущий вызов inplace / ajax работает везде, но не здесь .. Так что у меня вроде нет идей, что делать
Я довольно много говорил об этой проблеме, но не смог найти ничего похожего. Кто-нибудь может помочь?