2016-08-27 6 views
0

クリックしたときにフォームの一部を既存のものの下に複製したいという「追加」ボタンが下部にあります。新しい入力の自動IDと値を変更するには、後ですべてのエントリのレポートを生成するために必要です。ボタンクリック時のJSF/PrimeFacesでのフォームの重複部分

<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> 

答えて

0

私はそれをこのようにします:

は、各データオブジェクトのフィールドを表示するビューでのdataTableを使用し、あなたのManagedBeanであなたのデータオブジェクトの例List<Data> dataList;のArrayListのを作成します。

"複製ボタン"をクリックすると、あなたのBean内でアクション/ 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> 
関連する問題