Vaadin在填充后设置组合框值

Br0*_*0ul 3 java combobox vaadin vaadin7

我的组合框的实例是全局创建的,它被填充,让我们说一个公司列表,而值是一个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

    }
Run Code Online (Sandbox Code Playgroud)

我试着检查值是否存在并设置它但没有任何反应.我抬头但找不到答案

if(cb_company.getItemCaption(value) != null)
    cb_company.set(value);
Run Code Online (Sandbox Code Playgroud)

wyp*_*prz 8

假设您ComboBox使用单一选择模式,您可以使用编程方式选择给定项目

cb_company.select(value)
Run Code Online (Sandbox Code Playgroud)

哪里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));
Run Code Online (Sandbox Code Playgroud)