p:commandButton は、シングル クリックで操作を実行しません。次の表があります。
<p:dataTable id="firmasTabla" var="car" editable="true" editMode="cell" value="#{clientesMB.itemsPersonaFirmanUtil}" widgetVar="carsTable">
<p:ajax event="cellEdit" listener="#{clientesMB.modiCellPersonaFirma}" update=":form2:growl" />
<p:column headerText="Nro CI" style="width:30%">
<p:cellEditor>
<f:facet name="output"><h:outputText value="#{car.ci}" /></f:facet>
<f:facet name="input"><p:inputText id="modelInput" value="#{car.ci}" style="width:96%"/></f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Nombre" style="width:60%">
<p:cellEditor>
<f:facet name="output"><h:outputText value="#{car.nombre}" /></f:facet>
<f:facet name="input"><p:inputText id="modelInput2" value="#{car.nombre}" style="width:96%"/></f:facet>
</p:cellEditor>
</p:column>
<p:column style="width:10%">
<p:commandButton id="selectButton256" actionListener="#{clientesMB.deleteSelecPersonaFirmaCliente}"
icon="ui-icon-trash" title="Eliminar" update="firmasTabla">
<f:setPropertyActionListener value="#{car}" target="#{clientesMB.personaFirmasSelect}" />
</p:commandButton>
</p:column>
</p:dataTable>
操作を実行するには 2 回クリックする必要があります。backingbean には次のメソッドがあります。
public void deleteSelecPersonaFirmaCliente() throws Exception {
try {
boolean b = this.getItemsPersonaFirmanUtil().remove(personaFirmasSelect);
boolean b1 = b;
} catch (Exception e) {
JsfUtil.addErrorMessage(e, "Error: deleteSelecPersonaFirmaCliente() " + e.getMessage());
}
}
デバッグ中に最初のクリックでメソッドに入りますが、削除するオブジェクトがリストに見つからないかのようです。次に、リスト オブジェクトを削除する sugundo をクリックします。