我有一个数据表
<h:dataTable value="#{vendor.vh.currentVendorVO.vfms}" var="row">
在VendorVO
private VFM[] vfms;
public VFM[] getVfms() {
return vfms;
}
public void setVfms(VFM[] vfms) {
this.vfms = vfms;
}
在VFM
private String orderTypeId;
private String fulfillTypeId;
private int orderSeq;
private String lastUpdated;
private String lastUpdatedBy;
private boolean lastItem;
private String action = "none";
我想在点击按钮时复制<h:dataTable>
行。
我怎样才能做到这一点?
答案 0 :(得分:1)
使用动态可扩展的Express
而不是固定大小的数组ArrayList
。
[]
然后,只需让按钮使用新的private List<VFM> vfms; // +getter (setter is unnecessary)
实例调用add()
方法。
VFM
<h:commandButton value="Add" action="#{bean.addVfm}" />
如果您打算在复制新public void addVfm() {
vfms.add(new VFM());
}
实例的每一行上都有此按钮,那么只需传递它并添加一个复制构造函数。
VFM
<h:commandButton value="Copy" action="#{bean.copyVfm(row)}" />
public void copyVfm(VFM vfm) {
vfms.add(new VFM(vfm));
}