Установить выбранный элемент в ComboBox по коду - PullRequest
0 голосов
/ 28 сентября 2011

Я хочу выбрать первый элемент comboBox по коду, если в списке значений есть только один элемент. Я пробовал это:

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

Любая помощь?

Спасибо!

Ответы [ 3 ]

0 голосов
/ 12 октября 2011

Прежде всего, ваш код содержит ошибки.Вы должны создать столько Comboitems, сколько empresasList.size ().Я думаю, что-то вроде

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

Должно работать.Однако в ZK была ошибка, из-за которой setSelectedIndex () пришлось отложить, как упоминалось Aloong .Насколько я помню, эта ошибка была исправлена.Если нет, вы можете использовать Event.echoEvent () в качестве обходного пути.

0 голосов
/ 05 декабря 2014
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);
}
0 голосов
/ 28 сентября 2011

Я не знаю, оказывает ли item.setParent(cb_empresa); немедленное влияние на вид. Вы можете попробовать установить индекс позже или после обновления cb_empresa.

...