Páginas

Mostrando entradas con la etiqueta búsqueda. Mostrar todas las entradas
Mostrando entradas con la etiqueta búsqueda. Mostrar todas las entradas

19 de febrero de 2013

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);
                     }
             
                
                
}
}
});