Problemas com <rich:tree > , TreeNode selecionado

5 respostas
rickfrocha

Pessoal bom dia!!!

estou utilizando o componente <rich:tree > num projeto JSF e estou com seguinte problema: Na minha rich:tree que contem apenas um nó e tenho um menu de contexto que abre um ModalPanel. Logo após que o modalPanel é fechado o focus fica no nó que havia clicado e quando clica nele novamente o evento do nodeSelectListener não é disparado.
Eu gostaria de remover a seleção do nó assim que fechasse o ModalPanel para que não atrapalhasse o evento do nodeSelectListener.

alguem sabe como me ajudar?

desde já agradeço!!
:smiley:

5 Respostas

Rafael_Nunes

Não pode dar um reRender no seu Tree depois que fechar o Modal?

rickfrocha

Fala rafael, blz?

obrigado pela resposta, mais já faço isso depois de fechar modalPanel e continua do mesmo jeito.

vlw velho!

Rafael_Nunes

Qual o tipo do switchType do Tree(client, ajax, server)? Creio que ele deva estar mantendo o estado da árvore, se não estiver, tenta deixar com client

rickfrocha

Entao Rafael estou utilizando ajax mais ja testei com client e nao deu certo.O problema é justamente a arvore que mantem o estado, e a cada novo click ele nao informa o managedBean e isso acaba atrapalhando todo meu controle.

a estrutura do meu compenente é essa:

<h:form id=“frmMenu”>

<rich:tree

id="arvoreMenu"

switchType="client"

ajaxSubmitSelection=“true"

value=”#{MbTree.tree}"

var=“node"

nodeSelectListener=”#{MbTree.selecionarNo}“

binding=”#{MbTree.arvore}"

rightClickSelection="true"

showConnectingLines=“false"

preserveModel=“none"

reRender=“frmMenuAdicionarItem, frmMenuAdicionarFilho”>

<rich:treeNode id=“myNo”>

<h:outputText value=”#{node}”/>

<rich:contextMenu event=“oncontextmenu” attached="true"

submitMode=“ajax”>

<rich:menuItem value="Adicionar"

oncomplete=“javascript:Richfaces.showModalPanel(‘pnAdicionarItem’)”/>

<rich:menuItem value="Adicionar Filho"

oncomplete=“javascript:Richfaces.showModalPanel(‘pnMenuAdicionarFilho’)”/>

</rich:contextMenu>

</rich:treeNode>

</rich:tree>

</h:form>

vc sabe se tem alguma maneira de resetar estado da arvore pelo managedBean?
vlw!!!

Yiori

Bom dia, provavelmente não deves estar mais com este erro, mas para deixar registrado se mais alguem cair no mesmo, achei a solução, no metodo correspondente ao nodeSelectListener é so adicionar esta linha no código: (UITree) tree.clearTreeNodeState();

Criado 8 de maio de 2009
Ultima resposta 31 de ago. de 2009
Respostas 5
Participantes 3