2014-09-23 75 views
1

我有一個文本框,並想如果一個值從梭選擇不讓它只讀(很多選項可以挑選)。我正在使用Jheadstart創建頁面,但adf解決方案的工作原理與我可以將更改插入到ta模板中一樣。通常我會使用綁定並選擇另一個字段的輸入值,但我不確定是什麼選擇班車作爲班車可以有很多選擇。如何使文本框只讀如果梭值未選擇

回答

0

您可以通過穿梭值的bean中:

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的殘疾人屬性綁定到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。