Pegar o conteúdo de uma linha no rich:scrollableDataTable

6 respostas
dahenz

Eu sei, existem vários tópicos no guj e inclusive alguns resolvidos, mas estou fazendo exatamente igual a esses tópicos e não consigo pegar o conteúdo da linha de um rich:scrollableDataTable para que eu exclua o registro.

Depurando eu vi que o sistema vai até o setSelecao do meu bean certinho, mas na ora de popular um Iterator de objetos ele simplesmente o getSelecao está vazio.

Segue o meu simples código:

<rich:scrollableDataTable id="eventosList"               							 
               						     rowKeyVar="rkv"
               						     frozenColCount="1" 
               							 rows="0" 
               							 height="210" 
               							 width="405" 
               							 value="#{EventoMB.eventos}" 
               							 var="eventos"
               							 sortMode="single"
               							 selection="#{EventoMB.eventosSelecionados}">
<a4j:commandButton styleClass="specialButtons" id="excluir" value="Excluir" 
         	     					action="#{EventoMB.selecionarEventos}" oncomplete="javascript:Richfaces.showModalPanel('panel');" />
o meu bean
public class EventoMB {

	private int id;
	private String descricao;	
	private List<EventoBean> eventos;
	private SimpleSelection eventosSelecionados;
	private UIScrollableDataTable table;
		
	public String selecionarEventos(){
				
		Iterator<Object> iterator = getEventosSelecionados().getKeys();
		if (iterator.hasNext()){
			
			System.out.println("ok");
			
		} else {
			
			System.out.println("!ok");
			
		}
		
		return null;
		
	}

	public SimpleSelection getEventosSelecionados() {
		return eventosSelecionados;
	}

	public void setEventosSelecionados(SimpleSelection eventosSelecionados) {
		this.eventosSelecionados = eventosSelecionados;
	}

Onde estou errando??? preciso de ajuda....

6 Respostas

dahenz

Alguém passou por isso??

surfzera

cara mais uma vez estamos juntos … agora com o mesmo problema :slight_smile: ainda não consegui resolver tambem…

dahenz

:slight_smile: bom eu nao conseguia pegar a linha por que precisava parametrizar meu Faces-Config…

acho que é isso…

Mude o scope para session…

Daí funciona…

abraço

surfzera

exatamente consegui resolver também … valeu!!

surfzera

cara deu um problema aqui na hora de excluir ele está excluindo no meu o ultima da lista. como você fez o seu metodo para excluir pode postar ? ?

dahenz
<rich:modalPanel id="pnlExclusao" 
		    				 width="200" 
		    				 height="100" 
		    				 minHeight="100" 
		    				 minWidth="200" 
		    				 autosized="true"
		    				 top="100">

			   <f:facet name="header">
			      <h:outputText value=".::Pergunta" />
			   </f:facet>

			   <f:facet name="controls">
			      <span onclick="javascript:Richfaces.hideModalPanel('panel')">Deseja excluir o registro?</span>
			   </f:facet>		
			   	  
			   <h:panelGrid columns="1">
			      <rich:separator id="sp11" 
			      				  height="2" 
			      				  style="padding:10px 0" />   
			   </h:panelGrid> 				   
			   
			   <center>
			      
			      <h:panelGrid columns="2">
			         <a4j:commandButton value="Sim" 
			         					action="#{EventoMB.excluir}"			         					
										onclick="javascript:Richfaces.hideModalPanel('pnlExclusao')" >
										   <a4j:support id="rendererTableExclusao" 
										   				event="oncomplete" 
										   				reRender="eventoList" />
										   <a4j:support  />
										
					 </a4j:commandButton>			         
			         <a4j:commandButton value="Não" 
			         					oncomplete="javascript:Richfaces.hideModalPanel('pnlExclusao')" />			         			         			   
			      </h:panelGrid>
			   
			   </center>
			   
			</rich:modalPanel>
Tá aí cara.... abaixo o meu ManagedBean
public void excluir(){
			
		EventoDAO eventoDAO = new EventoDAO();						
					
		try {
			eventoDAO.excluir(eventoBean);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}		
		
		setEventos(eventoDAO.listarEventos());
	}
Criado 2 de dezembro de 2008
Ultima resposta 17 de dez. de 2008
Respostas 6
Participantes 2