我需要在点击按钮时向我的数据表添加一行 - “添加员工”。
数据表显示与bean中固定的Employees列表对应的记录。
我正在做的是,点击“添加员工”按钮,我将一个空的员工记录添加到empList。
有没有更好的方法呢?
感谢。
答案 0 :(得分:4)
单击添加按钮时打开对话框或弹出窗口。然后填写必填字段(附加到员工对象。保存/提交时,将该对象添加到员工对象列表中。然后重新呈现数据表。 或者,您最初可以将空的员工对象添加到列表中。使用inputfields在数据表中显示它。在添加时,您将新员工添加到列表中并重新呈现列表。
答案 1 :(得分:4)
list_Recs是记录列表,显示在数据表中。
<p:dataTable id="myTable" value="#{myBean.list_Recs}" selectionMode="single" var="myTableVar" selection="#{myBean.currentRec}">
<p:ajax event="rowSelect" listener="#{myBean.handleRowSelect}" update=":myForm:myPanel"/>
<p:column>
<f:facet name="header">
<h:outputLabel value="Field 1" />
</f:facet>
<h:outputLabel value="#{myTableVar.Field1}"/>
</p:column>
<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>
单击新建按钮时,在myBean的prepareForInsert例程中创建newRec的emty实例。因此 myPanel 在字段中填充空白。在提交时,将newRec添加到 由于 myTable 的更新,list_Recs和新记录显示在数据表中。 希望这会有所帮助。
答案 2 :(得分:3)
另一种选择是在数据表的页脚面中显示空员工,并在用户单击添加按钮时将其添加到列表中。通过这种方式,您可以确保只将正确填充的员工对象/实体添加到列表中。