通过代码在 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);
有帮助吗?
谢谢!
I want to selected the first item of a comboBox by code if the value list have only one item. I've tried this:
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);
}
But it does not work. I also tried the commented line:
//cb_empresa.setSelectedIndex(0);
Any help?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(3)
鹊巢2024-12-14 02:44:38
首先,你的代码有问题。您必须创建与 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);
}
应该有效。然而,正如 Aloong 提到的,ZK 中存在一个错误,即 setSelectedIndex() 必须被推迟。据我所知,这个错误已经被修复了。如果没有,您可以使用 Event.echoEvent() 作为解决方法。
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我不知道
item.setParent(cb_empresa);
是否对视图立即生效。您可以稍后尝试设置索引,或者刷新 cb_empresa 之后。
I don't know whether the
item.setParent(cb_empresa);
has an immediately effect to the view.You can try setting the index later, or after refresh the cb_empresa.