@JosueSantos escreveu:
Ao clicar no comandButonn esta sendo carregado o ultimo vídeo da lista no dialog, porem no datatable funciona corretamente quando exibo pelo componente media. Quero facilitar para o usuário da seguinte forma quando o usuário clicar no botão abrir o dialog, e exibir o vídeo do registro X dentro do dialog, clicar no segundo botão abrir o vídeo Y. Acho que é coisa simples, porem não estou conseguindo configurar. Estou achando estranho, porque, só mostra o ultimo vídeo (Parece que não esta atualizando om painel no comandButonn tento update=":mensagem :formListagem:tabela formVideo:painelVideo"). Segue alguns trechos do código:
Datatable (Primefaces):
<p:column headerText="Vídeo"> <p:commandButton value="Assistir" oncomplete="PF('video').show();" actionListener="#{logicaAlgoritmoBean.selecionarVideo}" update=":mensagem :formListagem:tabela formVideo:painelVideo" > <f:attribute name="videoSelecionado" value="#{logicaAlgoritmo}" /> </p:commandButton> <p:dialog header="Vídeo Aula" widgetVar="video" position="top" draggable="true" resizable="true" modal="true"> <h:form id="formVideo"> <h:panelGrid id="painelVideo"> <p:outputLabel id="nomeCurso" maxlength="600" size="40" value="#{logicaAlgoritmoBean.logicaAlgoritmo.curso.nomeCurso}" /> <p:outputLabel id="descricao" maxlength="600" size="40" value="#{logicaAlgoritmoBean.logicaAlgoritmo.descricao}" /> <p:media cache="false" id="videos" value="http://localhost:8080/logica/#{logicaAlgoritmo.codigo}.wmv" width="910px" height="450px" player="windows"> <f:param name="autoPlay" value="true" /> <f:param name="autostart" value="true" /> </p:media> </h:panelGrid> </h:form> </p:dialog> /*Aqui o componente média exibe corretamente o vídeo de cada registro.*/ <p:media cache="false" id="videos" value="http://localhost:8080/logica/#{logicaAlgoritmo.codigo}.wmv" width="200" height="150" player="windows"> <f:param name="autoPlay" value="false" /> <f:param name="autostart" value="false" /> </p:media> </p:column> Metodo selecionarVideo, para mostrar no console o vídeo que foi escolhido: public void selecionarVideo(ActionEvent evento){ logicaAlgoritmo = (LogicaAlgoritmo) evento.getComponent().getAttributes().get("videoSelecionado"); System.out.println("Vídeo selecionado: "+logicaAlgoritmo); } Metodo para lista: @PostConstruct public void listar() { try { logicaAlgoritmoDAO logicaAlgoritmoDAO = new logicaAlgoritmoDAO(); logicaAlgoritmos = logicaAlgoritmoDAO.listar(); } catch (RuntimeException erro) { Messages.addGlobalError("Ocorreu um erro ao tentar listar a vídeo aula!"); erro.printStackTrace(); Messages.addGlobalError(erro.getMessage()); } }
Mensagens: 1
Participantes: 1