2011-09-28 107 views
0

在組合框中設置選定的項目如果值列表只有一個項目,我想通過代碼選擇組合框的第一項。我試過這個:通過代碼

Comboitem item = new Comboitem(); 
for(Empresa e : empresasList){    
    item.setValue(e.getEmpId()); 
    item.setLabel(e.getEmpNombre()); 
    item.setParent(cb_empresa); 
} 
if(empresasList.size()==1){    
    idEmpresa = empresasList.get(0).getEmpId(); 
//cb_empresa.setSelectedIndex(0); 
    cb_empresa.setSelectedItem(item); 
} 

但它不起作用。我也試過評論線:

//cb_empresa.setSelectedIndex(0); 

任何幫助嗎?

謝謝!

回答

0

我不知道item.setParent(cb_empresa);是否對視圖有直接影響。 您可以稍後嘗試設置索引,或刷新cb_empresa之後嘗試設置索引。

0

首先,你的代碼是越野車。您必須創建與empresasList.size()一樣多的Comboitems。我猜想像

​​

應該工作。但是,ZK中存在一個錯誤,即setSelectedIndex()必須推遲,因爲提到了Aloong。據我記憶,這個bug已經修復。如果沒有,您可以使用Event.echoEvent()作爲解決方法。

0
for(Empresa e : empresasList){ 
    Comboitem item = new Comboitem();    
    item.setValue(e.getEmpId()); 
    item.setLabel(e.getEmpNombre()); 
    cb_empresa.appendChild(item); 
} 
if(cb_empresa.getItemCount()==1){    
    cb_empresa.setSelectedIndex(0); 
}