<af:selectManyChoice value="#{DataProductBean.typeSelected}" label="使用范围" id="smc1"
contentStyle="width:170px;" autoSubmit="true"
valueChangeListener="#{DataProductBean.typeChange}">
<f:selectItems value="#{bindings.TDictVO3.items}" id="si1"/>
<f:validator binding="#{bindings.TDictVO3.validator}"/>
</af:selectManyChoice>
java代码,
private List<String> _typeSelected = new ArrayList<String>();初始化方法加载赋值,先清空,在赋值
public String choiceEdit(){
_typeSelected.clear();
DCIteratorBinding dataProductIterator = ADFUtils.findIterator("DataProductManageVOIterator");
Row rowData = dataProductIterator.getCurrentRow();
String editType= rowData.getAttribute("Type").toString();
String workType = (String) rowData.getAttribute("Productnetworktype");
List<String> departments = new ArrayList<String>();
if(workType!=null&&workType!="null"){
String[] type = workType.split(",");
for(int i = 0 ; i < type.length ; i++){
departments.add(type[i]);
}
}
_typeSelected = departments;
}下拉change获取值
public void typeChange(ValueChangeEvent valueChangeEvent) {
java.util.ArrayList al = (ArrayList) valueChangeEvent.getNewValue();
if (al != null) {
String typeResult = "";
for(int i = 0 ; i < al.size() ; i ++){
if( i == al.size() - 1){
typeResult = typeResult + al.get(i).toString();
}else{
typeResult = typeResult + al.get(i).toString() + ",";
}
}
this.setTypeValue(typeResult);
}
}
本文介绍了一个使用AF框架实现的多选下拉框组件及其值绑定方法。该组件通过Java代码实现了初始化加载及下拉选择改变时的值更新功能。具体包括:如何在初始化时清除并设置默认值;当用户更改选择时如何收集并处理所选值。
1673

被折叠的 条评论
为什么被折叠?



