Problema rich:dataTable - h:commandLink não renderiza
2 respostas
L
luciano87
Fala galera,
Estou com um problema ao utilizar o rich:dataTable.
No meu table, tenho alguns <h:commandLink>, quando renderizam pela primeira vez eles funcionam, mas quando faço alguma requisição pelo a4j:commandButton ou uso a paginação do rich:datascroller, todos os commandLink somem, tirando os links e aparecendo apenas textos normais.
Alguém poderia me ajudar?
[]'s
RESOLVIDO: Consegui resolver galera, eu tava utilizando a tag , quando o datatable renderiza pela segunda vez, ela buga.
@Controller("setorController")@Scope("session")publicclassSetorController{privateSetorsetor;privateDataModelmodel;@ResourceprivateDaoGenerico<Visita,Integer>visitaDao;@ResourceprivateDaoGenerico<Setor,Integer>setorDao;publicSetorController(){}publicSetorgetSetor(){returnsetor;}publicvoidsetSetor(Setorsetor){this.setor=setor;}publicDataModelgetModel(){returnmodel;}publicvoidsetModel(DataModelmodel){this.model=model;}publicDaoGenerico<Setor,Integer>getSetorDao(){returnsetorDao;}publicvoidsetSetorDao(DaoGenerico<Setor,Integer>setorDao){this.setorDao=setorDao;};publicDaoGenerico<Visita,Integer>getVisitaDao(){returnvisitaDao;}publicvoidsetVisitaDao(DaoGenerico<Visita,Integer>visitaDao){this.visitaDao=visitaDao;}publicStringnovoSetor(){this.setor=newSetor();return"formSetor";}publicDataModelgetTodos(){returnmodel=newListDataModel(setorDao.todos());}publicSetorgetSetorParaEditarExcluir(){Setorsetor=(Setor)model.getRowData();returnsetor;}publicStringeditar(){setSetor(getSetorParaEditarExcluir());return"formSetor";}publicStringsalvar(){booleanvalidaSetor=true;try{for(Iterator<?>iter=setorDao.todos().iterator();iter.hasNext();){Setors=(Setor)iter.next();if(setor.getNomSetor().equalsIgnoreCase(s.getNomSetor())){validaSetor=false;}}//verifica se o nome do setor só inicia com letrasif(setor.getNomSetor().charAt(0)>=65&&setor.getNomSetor().charAt(0)<=90||setor.getNomSetor().charAt(0)>=97&&setor.getNomSetor().charAt(0)<=122){if(validaSetor){if(setor.getPkIdSetor()==null){setorDao.salvar(setor);}else{setorDao.atualizar(setor);}FacesUtils.mensInfo("Salvo com sucesso");setor=newSetor();}else{FacesUtils.mensErro("Setor já cadastrado");}}else{FacesUtils.mensErro("Nome do setor deve ser iniciado somente com letras");}}catch(InvalidStateExceptione){FacesUtils.mensErro("Erro ao cadastrar setor. Erro: "+e.getMessage());}return"sucessoSetor";}publicStringexcluir(){Setorsetor=getSetorParaEditarExcluir();booleansetorSemVisita=true;try{for(Iterator<?>iter=visitaDao.todos().iterator();iter.hasNext();){Visitavisita=(Visita)iter.next();if(visita.getSetor().getPkIdSetor()==setor.getPkIdSetor()){setorSemVisita=false;}}//se setor ainda não possui visitas, o setor pode ser deletadoif(setorSemVisita){setorDao.excluir(setor);FacesUtils.mensInfo("Setor deletado com sucesso");}}catch(Exceptione){FacesUtils.mensErro("Setor não pode ser deletado pois possui visitas cadastradas");}return"formSetor";}}
L
leozinjava
RESOLVIDO
putz perdi a tarde inteira em fóruns
quando resolvi testar o a4j:commandlink no lucar de <h:commandlink> funcionou certinho
caso alguém esteja com o msmo problema tenta ai
abraço