单击按钮时如何在 JSF/PrimeFaces 中复制部分表单
How duplicate part of form in JSF/PrimeFaces on button click
我在底部有一个 "Add" 按钮,单击该按钮后,我希望它能复制现有表单下方的部分表单。如何更改新输入的自动 ID 和值,稍后我需要它来生成包含所有条目的报告。
<h:panelGrid columns="2">
<p:outputLabel value="From: " />
<p:inputMask id="date1" value="#{data.date1}" mask="99/99/9999"/>
<p:outputLabel value="To: " />
<p:inputMask id="date2" value="#{data.date2}" mask="99/99/9999"/>
<p:outputLabel value="Name: " />
<p:inputText id=name1 value="#{data.name}" />
<p:outputLabel value="Description: " />
<p:inputTextarea id=description1 value="#{data.description}" />
</h:panelGrid>
我会这样做:
在 ManagedBean 中创建数据对象示例的 ArrayList List<Data> dataList;
,然后在视图中使用 dataTable 来显示每个数据对象的字段。
当您单击 "duplicate Button" 时,可以在您的 bean 中调用一个 action/ajax 方法来复制或向 dataList
添加新条目,...等等
类似于:
<h:dataTable var="data" value="#{bean.dataList}">
<h:column>
<h:panelGrid columns="2">
<p:outputLabel value="From: " />
<p:inputMask id="date1" value="#{data.date1}" mask="99/99/9999"/>
<p:outputLabel value="To: " />
<p:inputMask id="date2" value="#{data.date2}" mask="99/99/9999"/>
<p:outputLabel value="Name: " />
<p:inputText id=name1 value="#{data.name}" />
<p:outputLabel value="Description: " />
<p:inputTextarea id=description1 value="#{data.description}" />
</h:panelGrid>
</h:column>
</h:dataTable>
我在底部有一个 "Add" 按钮,单击该按钮后,我希望它能复制现有表单下方的部分表单。如何更改新输入的自动 ID 和值,稍后我需要它来生成包含所有条目的报告。
<h:panelGrid columns="2">
<p:outputLabel value="From: " />
<p:inputMask id="date1" value="#{data.date1}" mask="99/99/9999"/>
<p:outputLabel value="To: " />
<p:inputMask id="date2" value="#{data.date2}" mask="99/99/9999"/>
<p:outputLabel value="Name: " />
<p:inputText id=name1 value="#{data.name}" />
<p:outputLabel value="Description: " />
<p:inputTextarea id=description1 value="#{data.description}" />
</h:panelGrid>
我会这样做:
在 ManagedBean 中创建数据对象示例的 ArrayList List<Data> dataList;
,然后在视图中使用 dataTable 来显示每个数据对象的字段。
当您单击 "duplicate Button" 时,可以在您的 bean 中调用一个 action/ajax 方法来复制或向 dataList
添加新条目,...等等
类似于:
<h:dataTable var="data" value="#{bean.dataList}">
<h:column>
<h:panelGrid columns="2">
<p:outputLabel value="From: " />
<p:inputMask id="date1" value="#{data.date1}" mask="99/99/9999"/>
<p:outputLabel value="To: " />
<p:inputMask id="date2" value="#{data.date2}" mask="99/99/9999"/>
<p:outputLabel value="Name: " />
<p:inputText id=name1 value="#{data.name}" />
<p:outputLabel value="Description: " />
<p:inputTextarea id=description1 value="#{data.description}" />
</h:panelGrid>
</h:column>
</h:dataTable>