2017-06-20 62 views
0

我有一个简单的组合框项目包含在用smartgwt制作的Dynamicform中。我已经用数据库查询的结果集填充了下拉列表,并且它已正确填充。然后我设置了一些处理程序来管理基于for的其他组合框填充组合框的事实,并且它特别是一个onFocus处理程序,该处理程序会首先填充第一个需要的组合框,然后才会组合文件组合框(有问题的组合)。问题是,现在我有填充列表和onfocus事件没有错误,但我不能选择组合中的任何东西,因为无论我选择行的选择总是保持空白。ComboBoxItem不显示所选项目smartgwt

这很奇怪,我甚至没有在开发模式中看到错误。

我粘贴组合的代码:

fileComboBox.addFocusHandler(new FocusHandler(){ 

     @Override 
     public void onFocus(FocusEvent event){ 
      String society = (String) getCompany(); 
      if(society==null || society.equals(EMPTY_STRING)){ 
       SC.say(constants.selezionaSocieta()); 
     } 
      companyComboBox.focusInItem(); 
    }}); 

    fileComboBox.setTitle(constants.fileUploadMov()); 
    fileComboBox.setName(FILE); 
    fileComboBox.setValueField(TestataDS.ATTR_ID_UPLOAD); 
    fileComboBox.setDisplayField(TestataDS.ATTR_NOME_FILE); 
    fileComboBox.setAutoFetchData(false); 
    fileComboBox.setFetchMissingValues(false); 
    fileComboBox.setOptionDataSource(TestataDS.getInstance()); 

fileComboBox = new ComboBoxItem() { 
    @Override 
      protected Criteria getPickListFilterCriteria() { 

     return getFileCriteria(); 

    }}; 

    public AdvancedCriteria getFileCriteria(){ 
    String society = (String) getCompany(); 
    String societyValue = (society != null) ? society : ""; 
    Criterion cSociety = new Criterion("codSocGest", OperatorId.EQUALS, societyValue); 
    return new AdvancedCriteria(OperatorId.AND, new Criterion[]{cSociety}); 
} 

回答

0

我解决它打开组合框进一个SelectItem