Reputation: 4504
I am having a Data table which has controls for inline editing of a row by showing a <p:inputText/>
of styleClass="iteminput"
on the place of <h:outputText />
with a styleClass="itemcell"
However I am really facing difficulties of submitting the entered values in the input for the table row corresponding to var="sc"
and updating my list array in the controller via the <p:commandButton id="submit" ..../>
button.
I appreciate any help.
<h:form>
<p:dataTable value="#{SConfigsController.sConfigs}" var="sc" paginatorPosition="bottom" paginator="true" rows="12">
<p:column headerText="id">
<h:outputText value="#{sc.id}" styleClass="itemcell" />
<p:inputText value="#{sc.id}" id="editId" placeholder="..." style="display:none;" styleClass="iteminput" />
</p:column>
<p:column headerText="name">
<h:outputText value="#{sc.name}" styleClass="itemcell" />
<p:inputText value="#{sc.name}" id="editName" placeholder="..." style="display:none;" styleClass="iteminput" />
</p:column>
<p:column headerText="edit">
<p class="txtcent">
<p:commandButton onclick="peb.onedit(this)" onsuccess="" ajax="true" icon="ui-icon-pencil" title="Icon Only" />
<p:commandButton id="submit" actionListener="#{SConfigsController.editConfig}" ajax="true" icon="ui-icon-check" title="Icon Only" styleClass="btnok editbtn" style="display:none;"></p:commandButton>
<p:commandButton ajax="true" icon="ui-icon-circlesmall-close" title="Icon Only" styleClass="btncancel editbtn" style="display:none;"/>
</p>
</p:column>
</p:dataTable>
</h:form>
Upvotes: 0
Views: 1542
Reputation: 2214
You can use the row editor.
<p:dataTable editable="true" emptyMessage="No se encontraron elementos"
rowIndexVar="rowIndex" id="tabla_listado" var="item" paginator="true"
rows="12" rowKey="#{item.idGrupoEmpresarial}"
value="#{comunMB.itemsGruposempresarialesUtil}">
<f:facet name="header">
<h:outputText value="Listado de Grupos Empresariales" />
</f:facet>
<p:ajax event="rowSelect" update=":form2:growl :form2:dialog"
oncomplete="PF('detallesDialog').show()"
listener="#{adminGruposEmpresariales.detallesGrupoEmpresarial}" />
<p:ajax event="rowEdit" update=":form2:growl"
listener="#{adminGruposEmpresariales.onEdit}" />
<p:ajax event="rowEditCancel" update=":form2:growl" />
<p:column headerText="Nombre">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{item.nombre}" />
</f:facet>
<f:facet name="input">
<p:inputText value="#{item.nombre}" style="width:98%" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Sigla">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{item.descripcion}" />
</f:facet>
<f:facet name="input">
<p:inputText value="#{item.descripcion}" style="width:98%" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column style="width:20px">
<p:rowEditor />
</p:column>
</p:dataTable>
Upvotes: 2