QUEBRANDO A CABECA COM JSF - rich:modalPanel + rich:dataTable + h:form

4 respostas
Rangel_Zutin

Pessoal. Estou levando uma surra ao tentar usar um rich:modalPanel com um h:form dentro dele, para a inclusao e edicao de informacoes.

Os problemas sao os seguintes:

1 - No caso da edicao estou tentando usar um h:commandLink de dentro de uma rich:dataTable, porem quando clico no link apenas acontece um tipo de refresh na tela, e o rich:modalPanel com o h:form simplesmente nao aparece. Segue o codigo:

<rich:dataTable id="c_list" value="#{customerHandler.customers}" var="c" rows="20" rendered="#{not empty customerHandler.customers}" 
					    styleClass="table" headerClass="cabecalho" columnClasses="first,last">
			
			<rich:column>
				<f:facet name="header">
					<h:outputText value = "#{msgs['c_link_Actions']}" styleClass="labels"/>
				</f:facet>

				<h:commandLink id="link" actionListener="#{customerHandler.chooseCustomer}">
					<h:graphicImage value="/images/BTN_Edit.gif" style="border:0"/>
					<f:param id="editID" name="ID" value="#{c.id}"/>
				</h:commandLink>
		</rich:column>

//demais colums
.
.
.
</rich:dataTable>

Porem o formulario é carregado, e isso gera o meu segundo problema conforme abaixo.

2 - Ao tentar fazer uma nova inclusao, o meu formulario aparece populado, de modo que nao sei como chamar um metodo para limpar o mesmo. Como posso fazer isso? Estou fazendo a chamada para o modalPanel com form atraves de uma rich:toolBar.

<rich:toolBar height="26" itemSeparator="line">
       <rich:toolBarGroup>
           <h:graphicImage id="new_customer" value="/images/BTN_New.gif" styleClass="pic"/>
           <h:outputLabel value ="#{msgs['c_button_New']}" for="new_customer" styleClass="labels"/>
           <rich:componentControl for="panel_customer" attachTo="new_customer" operation="show" event="onclick"/>
       </rich:toolBarGroup>
</rich:toolBar>

Por favor!!! Sou iniciante em JSF... ME DEEM UMA LUZ... Se nao estiver bem explicado enviem-me perguntas...

4 Respostas

Rangel_Zutin

Alguem poderia, por favor, apenas comentar meu problema. Qualquer coisa ja ajuda, pois estou estudando. Obrigado!

danielbussade

Olá para começar o seu ManagedBean esta com escopo de que?

Rangel_Zutin

Ola amigo. Esta com escopo session. Muito obrigado pela resposta.

G

bom, primeiro, o seu modal n vai abrir, se vc n mandar ele abrir, no seu link vc tem q botar em algum evento dom, pode ser no onclick, #{rich:component('idDoSeuModal')}.show(); … ai ele vai aparecer

e use, de preferencia, um commandlink do a4j, por questoes de requisições ajax. ^^

quanto ao usar o modal em um form separado, n tem problema, no metodo que insere dados, limpe os objetos depois de salva-los.

Criado 19 de maio de 2009
Ultima resposta 20 de mai. de 2009
Respostas 4
Participantes 3