0

値リストにアイテムが1つしかない場合、コードでコンボボックスの最初のアイテムを選択したい。私はこれを試しました:

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);

何か助けはありますか?

ありがとう!

4

3 に答える 3

0

まず第一に、あなたのコードはバグがあります。empresasList.size()と同じ数のComboitemを作成する必要があります。私は何かのようなものを推測します

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

動作するはずです。ただし、Aloongが述べたように、ZKにはsetSelectedIndex()を延期しなければならないというバグがありました。私が覚えている限り、このバグは修正されています。そうでない場合は、回避策としてEvent.echoEvent()を使用できます。

于 2011-10-12T08:22:47.853 に答える
0

item.setParent(cb_empresa);ビューにすぐに影響があるかどうかはわかりません。後でインデックスを設定するか、cb_empresa を更新した後に試すことができます。

于 2011-09-28T09:37:01.277 に答える