按钮点击时JSF / PrimeFaces中表单的重复部分如何

时间:2016-08-27 10:56:40

标签: jsf jsf-2 primefaces

我在底部有一个“添加”按钮,点击后,我希望它复制现有表格下方的部分表格。如何更改新输入的自动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>

1 个答案:

答案 0 :(得分:0)

我会这样做:

在ManagedBean中创建数据对象示例List<Data> dataList;的ArrayList,然后在视图中使用dataTable显示每个数据对象的字段。

当您单击&#34;重复按钮&#34;时,可以在您的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>