1

我需要使用primefaces在jsf中创建一个数据表,其中我需要一行,其中一列包含带有一个按钮的静态数据。当我单击此按钮时,其他列(在同一行内)应显示一些输入文本应从数据库中填充带有标签和数据的字段。这意味着如果有两条记录,则该行中的列应根据记录数跨越到行数中。这意味着一列将是静态的,另一列在该行中应该动态跨越,并且应该在行内的列中添加一些组件。请帮助我如何做到这一点?

4

1 回答 1

0

嗨,我在某处找到了一些用于动态创建行的示例代码,您可以根据需要进一步嵌套它。

     <p:column>
         <f:facet name="header">
             <h:outputLabel value="Field 2" />
         </f:facet>
         <h:outputLabel value="#{myTableVar.Field2}" />
     </p:column>

     <f:facet name="footer">
         <p:commandButton value="New" action="#{myBean.prepareForInsert}" update=":myForm:myPanel"/>
     </f:facet>
</p:dataTable>

<h:panelGrid id="myPanel" columns="2" >
    <h:outputLabel value="Field 1"/>
    <p:inputText id="fld1" value="#{myBean.newRec.field1}" />
    <h:outputLabel value="Field 2"/>
    <p:inputText id="fld2" value="#{myBean.newRec.field2}" />
    <p:commandButton action="#{myBean.createAction}" value="Submit" update="myGrowl myTable" />
</h:panelGrid>

当点击 New 按钮时,在 myBean 的 prepareForInsert 例程中创建一个 newRec 的 emty 实例。这样 myPanel 在字段中填充了空白。在提交时,将 newRec 添加到 list_Recs 中,由于 myTable 上的更新,新记录显示在数据表中。希望这可以帮助。

于 2012-12-07T06:55:18.420 回答