Hallo,
ich verwende die Primefaces DataTable und habe mehr oder weniger fast den gleichen Code wie im http://www.primefaces.org/showcase-labs/ui/datatableCellEditing.jsf;jsessionid=i50jy2ma3ihv1gmjgzkd0us6f ShowCase. So siehts bei mri aus:
<h:form id="IngredientsForm">
<fieldset id="createingredients">
<legend>Zutat erstellen</legend>
<h:outputLabel for="ingredient" value="Zutat name" />
<h:inputText id="ingredient" binding="#{ingredientInputText}" required="true" />
<p:commandButton action="#{IngredientBean.addIngredient(ingredientInputText.value)}" value="Zutat hinzufügen" update="IngredientsForm">
<!--
todo zu inputText validaotr einbauen der überprüft ob rezept bereits exisitier und dann commandButton disablen!
-->
</p:commandButton>
</fieldset>
<fieldset>
<legend>Zutaten suche</legend>
<p:dataTable id="dataTable" var="ingredient" value="#{IngredientBean.ingredients}" scrollRows="20" scrollable="true" liveScroll="true"
widgetVar="ingredientTable" editable="true" editMode="cell" scrollHeight="150">
<p:ajax event="cellEdit" listener="#{IngredientBean.onCellEdit}" update=":IngredientsForm" />
<p:column headerText="name">
<p:cellEditor>
<f:facet name="output"><h:outputText value="#{ingredient.name}" /></f:facet>
<f:facet name="input"><p:inputText id="ingredientname" value="#{ingredient.name}"/></f:facet>
</p:cellEditor>
</p:column>
</p:dataTable>
</fieldset>
</h:form>
Wenn ich jetzt den Wert bei ingredient.name ändere springt dieser wieder auf den alten Wert zurück und auch wenn ich am Debuggen bin und mir die Werte vom Parameter der onCellEdit Methode anschaue liefern old- als auch newValue die exakten Werte zurück. Hat jemand eine Ahnung woran das liegen kann? Fehlermeldungen gibt er auch keine aus. Ich bin momentan ziemlich Ratlos was ich noch versuchen könnte.