我有一个文本字段,如果从航天飞机中选择了一个值,可以不读它(可以选择许多选项)。我正在使用Jheadstart来创建页面,但adf解决方案的工作方式与我只能将该更改插入到ta模板中一样。通常我会使用绑定并选择另一个字段的输入值,但我不确定是什么选择班车作为班车可以有很多选择。
答案 0 :(得分:0)
要从bean内的shuttlebox获取值:
BindingContainer myBC = this.getBindings();
JUCtrlListBinding listBinding = (JUCtrlListBinding)myBC.get("ViewObject1"); //viewObject that populates the shuttflebox
Object str[] = listBinding.getSelectedValues();
if(str.length>0)
isTextBoxDisabled=false;
else
isTextBoxDisabled=true;
然后将inputtext的Disabled属性绑定到myBean.isTextBoxDisabled
这需要一个页面提交才能激活,所以我猜这不是你想要的。
如果您希望它在梭子中移动时自动更新值,则必须使用梭子的ValueChangeListener属性,以获取选择的大小。
public void selectValueChangeListener(ValueChangeEvent valueChangeEvent) {
ArrayList list = new ArrayList(Arrays.asList(valueChangeEvent.getNewValue()));
if(list.isEmpty())
isTextBoxDisabled=true;
else
isTextBoxDisabled=false;
//refresh the inputText component
AdfFacesContext.getCurrentInstance().addPartialTarget(myInputText);
}
请记住,ValueChangeListener只会在提交页面时通过bean方法进行处理。如果要在更改航天飞机的值时处理更改,请设置autoSubmit = true。