Seguinte pessoal eu fiz uma aplicacao web de cadastros usando a mesma logica de uma outra desktop que havia feito.
O login ta tudo ok e a navegacao pelas paginas tb, so que algumas coisas nao estao funcionando.
O contador i so incrementa uma vez (clicando em proximo na 1ª vez, na 2ª nao acontece nada) e nao decrementa quando clico em anterior.
Outra coisa estranha é que se eu clico no botao ultimo (esse funciona) e depois no botao proximo, o i decrementa!
Tb nao da pra salvar, depois que clico nao mudou nada.
O detalhe é que toda essa logica funciona na minha outra aplicacao, que é desktop!
Já olhei o bd e ta tudo certo, nao sei mais o q fazer
Espero que possam ajudar
Abraços
[b]Classe Cadastros[/b]
//...
private CadastrosVO cadVO;
private List<CadastrosVO> lista;
private int i = 0;
private int salvar;
private DAOFactory dao;
public Cadastros() {
dao = new DAOFactory();
lista = getLista();
if (!lista.isEmpty()) {
cadVO = lista.get(i);
mostraDados();
}
botao_gravar.setDisabled(true);
}
private List<CadastrosVO> getLista() {
return dao.getCadastrosDAO().listaTudo();
}
public void mostraDados() { funciona
teste.setValue("i= "+i); // estou testando o contador i
tf_nome.setValue(cadVO.getNome());
ftf_data.setValue(cadVO.getData());
}
public String botao_anterior_action() { //nao funciona
if (i > 0 && !lista.isEmpty()) { //se eu tirar a condicao dá erro no server
i--; // o i nao decrementa
cadVO = lista.get(i);
mostraDados();
}
botao_gravar.setDisabled(true);
return null;
}
public String botao_proximo_action() { //vide descricao
if (i < lista.size()-1 && !lista.isEmpty()) {
i++;
cadVO = lista.get(i);
mostraDados();
}
botao_gravar.setDisabled(true);
return null;
}
public String botao_ultimo_action() { // funciona
if (!lista.isEmpty()) {
i = lista.size() - 1;
cadVO = lista.get(i);
mostraDados();
}
botao_gravar.setDisabled(true);
return null;
}
public String botao_novo_action() { // funciona
mostraNada(); // mostra tudo ""
salvar = 1;
botao_gravar.setDisabled(false);
teste.setValue("salvar = "+salvar);
return null;
}
public String botao_alterar_action() { //funciona
salvar = 2;
teste.setValue("salvar = "+salvar);
botao_gravar.setDisabled(false);
return null;
}
public String botao_gravar_action() { //nao funciona
if (salvar == 1) {
lista.add(getCadVO(true));
dao.beginTransaction();
dao.getCadastrosDAO().adiciona(lista.get(lista.size()-1));
dao.commit();
}
if (salvar == 2) {
lista.set(i, getCadVO(false));
dao.beginTransaction();
dao.getCadastrosDAO().atualiza(lista.get(i));
dao.commit();
}
lista = getLista();
i = 0;
if (!lista.isEmpty()) {
cadVO = lista.get(i);
mostraDados();
} else {
mostraNada(); // mostra tudo ""
}
return null;
}
