So löschen Sie den p: -Dialog und verwenden ihn erneut, wenn Sie neue Elemente hinzufügen
ich benutze<p:dialog>
um eine neue Zeile hinzuzufügen<p:dataTable>
Eingaben vom Benutzer entgegennehmen, aber ich kann sie nicht zurücksetzen. Jedes Mal, wenn Daten der vorherigen Eingabe angezeigt werden und stattdessen die aktuelle Zeile bearbeitet wird. Wie räume ich die Felder ab?
<h:form id="foodTableForm">
<p:dataTable id="foodTableId" var="v" value="#{dashboardBean.myFoodList}" editable="true">
<p:ajax event="rowEdit" listener="#{dashboardBean.onEdit}" />
<p:ajax event="rowEditCancel" listener="#{dashboardBean.onCancel}" />
<p:column sortBy="#{v.project}" headerText="Project Name">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{v.project}" />
</f:facet>
<f:facet name="input">
<p:inputTextvalue="#{v.project}"/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="#{msg['product.label.edit']}">
<p:rowEditor />
</p:column>
<p:column headerText="#{msg['product.label.delete']}">
<p:commandLink id="deleteFoodPromotion" actionListener="#{dashboardBean.deleteFoodPromotion(v)}" update="@form" />
</p:column>
</p:dataTable>
</h:form>
<h:form id="dialogInputForm">
<p:dialog widgetVar="dlg">
<p:inputText id="firstname" value="#{dashboardBean.foodPromoDTO.project}" required="true" />
<p:calendar value="#{dashboardBean.foodPromoDTO.promoDate}" id="startDate" required="true" />
<h:selectOneMenu value="#{dashboardBean.foodPromoDTO.action}" required="true">
<f:selectItem itemLabel="Promo Start" itemValue="Promo Start" />
<f:selectItem itemLabel="Promo End" itemValue="Promo End" />
</h:selectOneMenu>
<p:commandLink id="submitButton" value="Save" action="#{dashboardBean.addFoodPromotion}" update="@form" oncomplete="PF('dlg').hide();" />
</p:dialog>
</h:form>