Ola galera,
Estou com um problema aqui, pois estou tentando atualizar os valores de uma pickList.
Gostaria de discutir, se alguém souber como fazer, uma maneira para eu avançar nisso.
O que ocorre é que tenho 2 pickList.
1a. picklist: Tenho objetos do tipo Tarefa
2a. picklist: Tenho objetos do tipo Atividades
Cada objeto Tarefa, tem varios objetos Atividades. (@OneToMany)
Então o que estou tentando fazer (sem sucesso até o momento) é: quando selecionado um objeto do tipo Tarefa na picklist 1 carregasse todas as suas atividades correspondente na picklist 2.
O codigo que estou utilizando e sua explicação logo a seguir:
[code]
<p:fieldset legend=“Panneau Taches”>
<p:commandButton id=“updatePL” process=“pojoPickListActivite” style=“display:none"
action=”#{projetMediatorMB.pickListActivites}" update=“pojoPickListActivite” />
<p:pickList id="pojoPickListTache" var="tache" value="#{projetMediatorMB.tachesDual}" itemValue="#{tache}"
itemLabel="#{tache.nomTache}" converter="tacheConverter" filterMatchMode="contains" showSourceControls="true"
showTargetControls="true" showSourceFilter="true" showTargetFilter="true" showCheckbox="true">
<f:facet name="sourceCaption">Taches Effacé</f:facet>
<f:facet name="targetCaption">Taches Ajoutées</f:facet>
<p:ajax event="transfer" listener="#{projetMediatorMB.onTransferTaches}" update="msg" />
<p:column> #{tache.nomTache} </p:column>
</p:pickList>
</p:fieldset>
</div>
</form>
<!-- ##################Activites################ -->
<div id="divActivites" style="width: 45%; float: right;">
<p:fieldset legend="Panneau Activites">
<p:pickList id="pojoPickListActivite" var="activite" value="#{projetMediatorMB.activitiesDual}"
itemValue="#{activite}" converter="activiteConverter" itemLabel="#{activite.nomActivite}"
filterMatchMode="contains" showSourceControls="true" showTargetControls="true"
showSourceFilter="true" showTargetFilter="true" showCheckbox="true">
<f:facet name="sourceCaption">Activités Effacé</f:facet>
<f:facet name="targetCaption">Activités Ajoutées</f:facet>
<p:ajax event="transfer" listener="#{projetMediatorMB.onTransferActivites}" update="msg" />
<p:column> #{activite.nomActivite} </p:column>
</p:pickList>
</p:fieldset>
</div>[/code]
Basicamente, o que gostaria de fazer é: quando selecionado um objeto na pickListTache, ele atualizaria o objeto Tache no ProjetMediatorMB e isso permitiria então de adicionar os objetos da atividade que desejo na outra pickList.
Tentei criar um script em jQuery, de acordo com a indicação de um amigo, porém ele não funciona (talvez por erro meu) e nem acionado ele é.
Ja olhei no firebug e esta tudo ok, sem mensagem de erro. Simplesmente ele não é chamado.
O commandButton seria para ser disparado, apos ser selecionado um elemento da pickListTache. O botão seria responsavel para processar o valor do objeto Tache no ProjetMediatorMB e atualizar a pickList, porém ele não processa (não estou sabendo como fazer).
Gostaria de sugestões/discutir se estou fazendo da forma certa, como deveria ser feito…
Estou aprendendo muito aqui no forum.
Muito obrigado a todos pela paciência.
Abraço