Rich:datatable

16 respostas
Ginhu

Galera,

Estou com um problema no meu rich:datatable que é o seguinte, tenho dois commandbutton um que filtra e popula meu rich:datable e outro que “renderiza” meu rich:datatable com um panelgroup para inserir um novo registro, o problema que tda vez que “renderiza” ele chama o metodo do value do rich:datatable, alguém já passou por isso ???

valeu galera

16 Respostas

alves.Felipe

cara… pq usar 2 botoes?? isso da para fazer em um só…
e quando renderizar o rich:table e vai chamar o metodo que esta definido no value… normal…

Ginhu

É normal ele chamar o metodo do value qdo renderiza ???
Tem como ele não chamar ??

valeu

alves.Felipe

eu acho que vc não esta fazendo certo isso…
não precisa de 2 botões…

tenta fazer assim…
o botão que popula a tabela é com ajax?vc pode fazer usar o a4j:commandbutton e dar um reRender no datatable…
e pronto… entende?

Ginhu

Entendi…uma parte eu consegui resolver, agora tô usando um botão só…
Meu problema agora é que meu datatable tem uma coluna “deletar” que chama um modalpanel com um mensagem de confirmação, qdo eu clico no “deletar” ele está chamando o metodo do value do datatable e ai o modal panel está se fechando

tendeu ???

valeu

alves.Felipe

o meu esta assim:

<a4j:commandLink value="Remover" action="#{pedidoController.removerProduto}" reRender="a4jItens,itemPedidos" />

Ginhu

Vc remove direto ? Não faz nenhuma pergunta se realmente quer remover e tal ?
O eu tá assim:

&lt;a4j:commandButton 	id="cmdExcluir" 
			image="/img/excluir.png"&gt;	
	&lt;rich:componentControl	for="mdRemover" 
				attachTo="cmdExcluir" 
				operation="show" 
				event="onclick"/&gt; 
	&lt;rich:toolTip value="Excluir" followMouse="true"/&gt; 
&lt;/a4j:commandButton&gt;
alves.Felipe

nessa tela eu não tenho nenhuma confirmação… mas ele não deleta do banco… é uns produtos que ainda esta adicionando no pedido…
mas acho que vou fazer uma confirmação…
estava lendo isso aqui…
http://adamszago.blogspot.com/2008/12/confirmar-excluso-richmodalpanel.html

mas como que vc faz para deletar a linha certa?

Ginhu

Tenho uma propriedade no meu bean que referencia o id :

&lt;a4j:commandButton 	styleClass="btns" 
			value="Sim"
			action="#{modeloMB.deletar}"&gt;
           &lt;a4j:actionparam 	id="registro"
			name="modeloId"
			value="#{itens.modeId}"
			assignTo="#{modeloMB.modeloId}"/&gt;
&lt;/a4j:commandButton&gt;

Essa é a opção SIM do meu modalpanel, tendeu ???

alves.Felipe

Ginhu:
Tenho uma propriedade no meu bean que referencia o id :

&lt;a4j:commandButton 	styleClass="btns" 
			value="Sim"
			action="#{modeloMB.deletar}"&gt;
           &lt;a4j:actionparam 	id="registro"
			name="modeloId"
			value="#{itens.modeId}"
			assignTo="#{modeloMB.modeloId}"/&gt;
&lt;/a4j:commandButton&gt;

Essa é a opção SIM do meu modalpanel, tendeu ???

ta mas esse pedaço de código vc coloca no modalPanel?

Ginhu

Exato, meu problema é que qdo chamo o modalPanel, ele está chamando o metodo do value do datatable e fechando o modalpanel…

tendeu ???

alves.Felipe

agora entendi…
mas… posta seu modal ai… e seu datatable…

Ginhu

Legal…segue o código:

&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;ui:composition xmlns="http://www.w3.org/1999/xhtml"
    			xmlns:ui="http://java.sun.com/jsf/facelets"
    			xmlns:h="http://java.sun.com/jsf/html"
    			xmlns:f="http://java.sun.com/jsf/core"
    			xmlns:a4j="http://richfaces.org/a4j"
    			xmlns:rich="http://richfaces.org/rich"&gt;
	
	&lt;rich:dataTable id="tabModelo"  
		rows="30"
		this.style.backgroundColor='#F1F1F1'
	                onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"
	                cellpadding="0" 
	                cellspacing="0"  
	                sortMode="multi" 
	                var="itens" 
	                value="#{modeloMB.todos}"
	                width="990px" 
	                border="1px"&gt;
                
	    &lt;f:facet name="header"&gt;
	    	&lt;h:outputText value="Modelos" /&gt;
	    &lt;/f:facet&gt;
	    &lt;rich:column  width="5"&gt;	
		    &lt;f:facet name="header"&gt;
		    	&lt;h:outputText value="Ações" /&gt;
		    &lt;/f:facet&gt;	
		    &lt;h:panelGrid columns="2" &gt;		
				&lt;a4j:commandButton 	id="cmdEditar" 
							image="/img/editar.png"
							action="#{modeloMB.edit}"&gt;
					&lt;a4j:actionparam 	id="registro"
							name="modeloId"
							value="#{itens.modeId}"
							assignTo="#{modeloMB.modeloId}"/&gt;
											
					&lt;a4j:actionparam 	id="editar" 
							name="editData"  
							value="/telas/modelo_update.xhtml" 
							assignTo="#{configuradorMB.urlData}"/&gt;
					&lt;rich:toolTip value="Editar" followMouse="true"/&gt;
				&lt;/a4j:commandButton&gt;						
				&lt;a4j:commandButton 	id="cmdExcluir" 
							image="/img/excluir.png"&gt;	
					&lt;rich:componentControl	for="mdRemover" 
								attachTo="cmdExcluir" 
								operation="show" 
								event="onclick"/&gt; 
		                                      &lt;rich:toolTip value="Excluir" followMouse="true"/&gt; 
				&lt;/a4j:commandButton&gt;
				
			&lt;/h:panelGrid&gt;
		&lt;/rich:column&gt;	
		&lt;rich:column sortBy="#{itens.modeId}" width="10"&gt;
           	&lt;f:facet name="header"&gt;                    
               	     &lt;h:outputText value="Código" /&gt;
        	&lt;/f:facet&gt;
            &lt;h:outputText value="#{itens.modeId}" /&gt;
        &lt;/rich:column&gt;
        	                
        &lt;rich:column sortBy="#{itens.modeDs}" width="300"&gt;
        	&lt;f:facet name="header"&gt;
            	&lt;h:outputText value="Descrição" /&gt;
			&lt;/f:facet&gt;
               &lt;h:outputText value="#{itens.modeDs}" /&gt;
		&lt;/rich:column&gt;
		
        &lt;rich:column sortBy="#{itens.modeSt}" width="20"&gt;
        	&lt;f:facet name="header"&gt;
               	&lt;h:outputText value="Status?" /&gt;
			&lt;/f:facet&gt;	                        	
            &lt;h:outputText value="#{itens.modeSt}" /&gt;
		&lt;/rich:column&gt;
		
		&lt;rich:column sortBy="#{itens.modeDtAtz}" width="50"&gt;
        	&lt;f:facet name="header"&gt;
               	&lt;h:outputText value="Dt. Atualização" /&gt;
            &lt;/f:facet&gt;
            &lt;h:outputText value="#{itens.modeDtAtz}" &gt;
            	&lt;f:convertDateTime pattern="dd/MM/yyyy"/&gt;
            &lt;/h:outputText&gt;
		&lt;/rich:column&gt;
		
        &lt;rich:column sortBy="#{itens.modeCdUsuario}"  width="80"&gt;
           	&lt;f:facet name="header"&gt;
               	&lt;h:outputText value="Usuário" /&gt;
			&lt;/f:facet&gt;	                        	
            &lt;h:outputText value="#{itens.modeCdUsuario}" /&gt;
		&lt;/rich:column&gt;
		
	&lt;/rich:dataTable&gt;
	
	



	&lt;f:subview id="subModal"&gt;
		&lt;rich:modalPanel 	id="mdRemover" 
				label="Confirmar exclusão?" 
				resizeable="false" 
				moveable="false" 
				height="100"&gt;   
			    &lt;f:facet name="controls"&gt;
			    	&lt;h:panelGroup&gt;  
				    	&lt;h:graphicImage 	id="img"
				    			value="/img/close.png" 
				    			style="cursor: pointer" /&gt;
				    	&lt;rich:componentControl 	for="modalRemover" 
				    				attachTo="img" 
				    				operation="hide" 
				    				event="onclick"/&gt;  
				    &lt;/h:panelGroup&gt;
			    &lt;/f:facet&gt;   
		    	&lt;f:facet name="header"&gt;Confirmação de remoção!&lt;/f:facet&gt;   
			    &lt;center&gt; 
			            Deseja realmente excluir o registro?<br/><br/>   
			            &lt;a4j:commandButton 	styleClass="btns" 
			            			value="Sim"
			            			action="#{modeloMB.deletar}"&gt;
				            &lt;a4j:actionparam 	id="registro"
							name="modeloId"
							value="#{itens.modeId}"
							assignTo="#{modeloMB.modeloId}"/&gt;
			            &lt;/a4j:commandButton&gt;   
			            
			            &lt;a4j:commandButton 	id="cmdNao"
			            			styleClass="btns" 
			            			value="Não"&gt;
			            	&lt;rich:componentControl 	for="modalRemover" 
			    				attachTo="cmdNao" 
			    				operation="hide" 
			    				event="onclick"/&gt; 
			            &lt;/a4j:commandButton&gt; 
			    &lt;/center&gt;   
		&lt;/rich:modalPanel&gt;  
	&lt;/f:subview&gt;
&lt;/ui:composition&gt;

O modal fica junto com o datatable, no msm arquivo

valeu…

alves.Felipe

cara peguei seu codigo do modal e abrir sussegado aki…
mas eu tirei o subview e esta dentro de um form… tanto o data table como o modal…
agora não sei se tem alguma coisa a ver…

Ginhu

Tendi…mas vc chamou o modal direto ou usou o meu datatable ??
Vou fazer essas alterações…e testar, valeu

Ginhu

Pois é cara nada feito…to enrolado mesmo…viu !!!

alves.Felipe

cara… o meu ta bombando…

ve se link ajuda…

http://www.guj.com.br/posts/list/112075.java#604692

Criado 18 de fevereiro de 2009
Ultima resposta 19 de fev. de 2009
Respostas 16
Participantes 2