本文介绍的是back been中创建SelectOneChoice,并设置其默认值的方法。
接ADF学习:动态创建组件,添加组件中的内容,这里我们尝试对SelectOneChoice进行创建,
与普通组件不同的是,SelectOneChoice组件中有SelectItem用于展示内容
实现效果:
接ADF学习:动态创建组件,添加组件中的内容,这里我们尝试对SelectOneChoice进行创建,
与普通组件不同的是,SelectOneChoice组件中有SelectItem用于展示内容
实现方式:
public void addField(ActionEvent actionEvent) {
List<RichSelectItem> selectItemList = new ArrayList<RichSelectItem>();
RichCommandMenuItem menuItem = (RichCommandMenuItem) actionEvent.getSource();
HismsAttributeDescriptor attribute = (HismsAttributeDescriptor) menuItem.getAttributes().get("attribute");
System.out.println(attribute.getComponentType() + "sss1111111111111" + attribute.getLabel());
RichPanelGroupLayout layout = new RichPanelGroupLayout();
layout.setLayout("horizontal");
RichSelectOneChoice component = new RichSelectOneChoice();
component.setLabel(attribute.getLabel());
for (HismsOperatorDef.OperatorDef operatorDef:getSupportedOperators(attribute.getType())){
//遍历相关值对RichSelectItem进行定义之后,将其加入RichSelectOneChoice组件中
RichSelectItem item = new RichSelectItem();
item.setLabel(operatorDef.getLabel());
item.setValue(operatorDef.getSymbol());
selectItemList.add(item);
}
component.getChildren().addAll(selectItemList);
//设置默认值
component.setValue(selectItemList.get(0).getValue());
RichInputText input = new RichInputText();
addComponent(layout, component);
addComponent(layout, input);
addComponent(getPanelGroupLayout(), layout);
}
实现效果:
参考资料:
http://adfblog.wordpress.com/2014/02/21/how-to-display-default-valuesfirst-item-selected-in-selectonechoice/
http://gergerconsulting.blogspot.hk/2007/03/programmatic-selectonechoice-example.html