我的组合框实例是全局创建的,它被填充,假设公司列表,而值是ID。加载文件后,我想在组合框中检查我是否有该值,然后以编程方式选择它。
class cComboBoxFun extends UI implements ClickListener
{
ComboBox cb_company;
List<cCustomer> ListCust;
//default constructor and server conf not really relevant
@Override
protected void init(VaadinRequest request)
{
//Lets assume the list has been filled already
cb_company = new ComboBox("Company");
for(cCustomer cust : ListCust)
{
cb_company.addItem(cust.mgetId);
cb_company.setItemcaption(cust.mgetId, cust.mgetName);
}
}
class cCustomer()
{
private String name;
private String Id;
public String GetName()
{
return this.name
}
// Same for id
}
我尝试检查值是否存在并设置它但没有任何反应。我抬头但找不到答案
if(cb_company.getItemCaption(value) != null)
cb_company.set(value);
答案 0 :(得分:8)
假设您的ComboBox
使用单一选择模式,您可以使用
cb_company.select(value)
其中value
指向cCustomer.Id
。所以代码可能如下所示:
cb_company = new ComboBox("Company");
for(cCustomer cust : ListCust)
{
cb_company.addItem(cust.mgetId);
cb_company.setItemcaption(cust.mgetId, cuts.mgetName);
}
//select the first item from the container
cb_company.select(ListCust.get(0));