combo box búsqueda

el combo busca en la base con lo que hayas escrito

en la vista 

cmbxEmpresa = new ComboBox();
cmbxEmpresa.setFieldLabel(constants.tit_empresa());
cmbxEmpresa.setStore(new ListStore());
cmbxEmpresa.setValueField(«id»);
cmbxEmpresa.setDisplayField(«no_empresa»);
cmbxEmpresa.setTriggerAction(TriggerAction.ALL);
@Override
public void setDataComboEmpresas(ArrayList data) {
if (data==null) {
this.cmbxEmpresa.getStore().removeAll();
this.cmbxEmpresa.collapse();
return;
}
BeanModelFactory factory = BeanModelLookup.get().getFactory(Empresas.class);
ArrayList dataToShow = new ArrayList();
for (Empresas e:data){
BeanModel model = factory.createModel(e);
dataToShow.add(model);
}
this.cmbxEmpresa.getStore().removeAll();
this.cmbxEmpresa.getStore().add(dataToShow);
}
en el presenter 
en el bind
display.getComboEmpresa().addKeyListener(new KeyListener() {
@Override
            public void componentKeyUp(ComponentEvent ce) {
switch (ce.getKeyCode()) {
                case KeyCodes.KEY_DOWN:
                case KeyCodes.KEY_END:
                case KeyCodes.KEY_ENTER:
                case KeyCodes.KEY_ESCAPE:
                case KeyCodes.KEY_HOME:
                case KeyCodes.KEY_LEFT:
                case KeyCodes.KEY_PAGEDOWN:
                case KeyCodes.KEY_PAGEUP:
                case KeyCodes.KEY_RIGHT:
                case KeyCodes.KEY_TAB:
                case KeyCodes.KEY_UP:
                    return;
                default:
                
                 final String newValue = display.getComboEmpresa().getRawValue();
                     if (newValue != null && newValue.length() > ApplicationTypeID.MINIMUM_CHARACTERS_TYPED) {
                     
                     //oldValue = newValue;
                         DelayedTask delayedTask = new DelayedTask(new Listener() {
                            final String oldValueEvento = newValue;
                         
                         
                             @Override
                             public void handleEvent(BaseEvent be) {
                                 String valueNew = display.getComboEmpresa().getRawValue();
                                // Info.display(«Buscando empresa», » OLDVALUE = » + oldValue + «, Newvalue=» + valueNew + «, Evento Value = » + oldValueEvento);
                                 
                                 if (oldValueEvento != null && oldValueEvento.equals(valueNew)) {
                                 
                                // buscarEmpresasCombo(valueNew, null);
                                 String strinLimpio = valueNew;
                                 if (ApplicationTypeID.PORCENTAJE.equals(valueNew)){
                                 strinLimpio = «»;
                                 }else{
                                 
                                if (ApplicationTypeID.PORCENTAJE.equals(valueNew.substring(valueNew.length()-1,valueNew.length()))){
                                  strinLimpio = valueNew.substring(0,valueNew.length()-1);
                                }
                                 }
                                 
                                 
                                 //System.out.println(strinLimpio);
                                 Empresas empresa = new Empresas();
                                 empresa.setNo_contacto(strinLimpio);
                                 buscarEmpresasCombo(empresa);
                                 }
                             }
                         });
                         delayedTask.delay(ApplicationTypeID.DELAY_CHARACTERS_TYPED);
                     }
                     else if (newValue == null || newValue.length()==0) {
                     display.setDataComboEmpresas(null);
                     }
             
                
                
}
}
});

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *