实现如上效果,可以选择一个或多个保存和删除
多选框对应代码:
<f:facet name="selection">
<af:tableSelectMany autoSubmit="true">
<af:commandButton text="#{res['SUBMIT_SELECT']}" >
<af:returnActionListener value="#row"/>
</af:commandButton>
</af:tableSelectMany>
</f:facet>
如果每次进来之后有默认选择项,而且不能同时选择多个,这里需要设置<table>属性,直接通过拖拽VO生成的<table>会带有selectionState属性,把这个去掉就可以实现多选。
实现选择多个同时保存,对应的后台方法:
public String toAddComSelfCheckLines() {
DCBindingContainer tableBindings =
(DCBindingContainer)getDCBindingContainer();
DCIteratorBinding iterBinding =
tableBindings.findIteratorBinding("PtsCompanySelfCheckLineVVO1Iterator");
CoreTable tableItsReturnInboundLines = this.getComSelfCheckLineTable();
Set rowSet =
tableItsReturnInboundLines.getSelectionState().getKeySet();
if (rowSet.size() == 0) {
this.showInfoMessage("请选择行!");
return "";
}
Iterator rowSetIter = rowSet.iterator();
while (rowSetIter.hasNext()) {
Key key = (Key)rowSetIter.next();
iterBinding.setCurrentRowWithKey(key.toStringFormat(true));
RowImpl curentRow =
(RowImpl)iterBinding.getCurrentRow();
}
try {
this.getPtsAM().getTransaction().commit();
this.showInfoMessage("保存成功!");
} catch (Exception ex) {
ex.printStackTrace();
} finally {
}
return null;
}