Persistencia pesquisar

2 respostas
cherador

Galera to com uma duvida acho q meio bizonha, tenho um filtro onde eu quero pegar os nomes q estão no banco, e adicionar no comboBox.

tipo assim,
String a = "xxxJoao";
String b = "xMaria";
String c = "Maria Luiza";
String d = "Caio Luis";

quando eu digitar no TextField a letra 'x' ele filtraria o comboBox e mostrava a string 'a' e 'b', e se for digitado 'Luis' me mostra a string 'd'.

public class FuncionarioByNomeFilter implements Filter {

    private String nome;

    public FuncionarioByNomeFilter() {
    }

    public FuncionarioByNomeFilter(String nome) {
        this.nome = nome;
    }

    public boolean matches(Persistable persistable) {
        Funcionario f = (Funcionario) persistable;
        return f.getNome().equals(nome);
        
    }
}

meu metodo eh esse

public void itemStateChanged(Item item) {
        
        System.out.println("itemStateChanged(Item item)");
        
        if(item.getLabel().equals(getMDOForm().getTfFunc().getLabel())){
            try {
                String strRelNome = getMDOForm().getTfFunc().getString();

                String[] rel = getMDOForm().getMidlet().getFuncDAO().getAllFuncionarioByNome(strRelNome);
                getMDOForm().getBgFuncionarios().deleteAll();
                getMDOForm().getBgFuncionarios().append(rel);
                System.out.println("rel>"+rel);
                
            } catch (FloggyException ex) {
                ex.printStackTrace();
            }
        }

é possivel fazer isso no J2ME? se for meu programa nao tah fazendo nda soh deletando todos do comboBox e nao está add

2 Respostas

tmoreira2020

O teu problema está no método que filtra os nomes.

Tente utilizar o seguinte código:

public boolean matches(Persistable persistable) {  
         Funcionario f = (Funcionario) persistable;  
         return (f.getNome().indexOf(nome) != -1);  
           
     }

Um abraço!

Thiago Moreira

cherador

e aew cara vlw brigadao funfou

abraços

Criado 14 de outubro de 2008
Ultima resposta 15 de out. de 2008
Respostas 2
Participantes 2