Problema com o selection do primefaces

4 respostas
M

Prezados,

Estou com um problema em um aplicação web que utiliza primefaces na sua interface, segue o problema:

Possuo uma tela dentro de um layout, nessa tela tem o componente WIZARD e em uma das etapas tenho uma tabela utilizando o DATATABLE onde posso selecionar um linha que pode ser excluída na sequencia. O problema está nesse processo de selecionar visualmente na tela a linha fica selecionada, mas quando entra no método do listener o atributo que deveria ter recebido a linha selecionada está null, alguém pode me ajuda com isso?

segue os códigos:

XXXxx.xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:c="http://java.sun.com/jsp/jstl/core"
	xmlns:p="http://primefaces.org/ui" template="menu.xhtml">
	<ui:define name="centro">
		<h:form id="centro" style="font-size:12px">

			<p:wizard widgetVar="wizGrafico"
				flowListener="#{graficoAction.onFlowProcess}" nextLabel="Avançar"
				backLabel="Voltar">

				<p:tab id="cadastro" title="Cadastro">
					<p:panel header="Cadastro">
						<h:panelGrid columns="4">

							<h:outputText value="Titulo: " />
							<p:inputText id="tituloGrafico"
								value="#{graficoAction.graficoAdd.titulo}" required="true" />
							<p:tooltip for="tituloGrafico" showEvent="focus" hideEvent="blur" />
							<p:message for="tituloGrafico" id="mensTituloGrafico"
								showDetail="true" />

							<h:outputText value="Gráfico: " />
							<p:inputText id="nomeGrafico"
								value="#{graficoAction.graficoAdd.grafico}" required="true" />
							<p:tooltip for="nomeGrafico" showEvent="focus" hideEvent="blur" />
							<p:message for="nomeGrafico" id="mensNomeGrafico"
								showDetail="true" />

							<h:outputText value="Largura: " />
							<p:inputText id="larguraGrafico"
								value="#{graficoAction.graficoAdd.largura}" required="true"
								title="Recomendado um número maior que 800" />
							<p:tooltip for="larguraGrafico" showEvent="focus"
								hideEvent="blur" />
							<p:message for="larguraGrafico" id="mensLarguraGrafico"
								showDetail="true" />

							<h:outputText value="Altura: " />
							<p:inputText id="alturaGrafico"
								value="#{graficoAction.graficoAdd.altura}" required="true"
								title="Recomendado um número maior que 500" />
							<p:tooltip for="alturaGrafico" showEvent="focus" hideEvent="blur" />
							<p:message for="alturaGrafico" id="mensAlturaGrafico"
								showDetail="true" />

							<h:outputText value="Componente Web: " />
							<p:selectOneMenu id="componente"
								value="#{graficoAction.graficoAdd.componenteWeb}" effect="fade"
								required="true">
								<f:selectItem itemLabel="Selecione um tipo grafico" itemValue="" />
								<f:selectItems
									value="#{graficoAction.graficoAdd.listaTipoGrafico}"
									var="tipoUm" itemLabel="#{tipoUm}" itemValue="#{tipoUm}" />
							</p:selectOneMenu>
							<p:tooltip for="componente" showEvent="focus" hideEvent="blur" />
							<p:message for="componente" id="mensComponente" showDetail="true" />

							<h:outputText value="Grupo: " />
							<p:selectOneMenu id="grupo"
								value="#{graficoAction.graficoAdd.grupo.idGrupo}" effect="fade"
								required="true">
								<f:selectItem itemLabel="Selecione um grupo" itemValue="" />
								<f:selectItems value="#{graficoAction.grupoCombo}" var="grupoUm"
									itemLabel="#{grupoUm.nome}" itemValue="#{grupoUm.idGrupo}" />
							</p:selectOneMenu>
							<p:tooltip for="grupo" showEvent="focus" hideEvent="blur" />
							<p:message for="grupo" id="mensGrupo" showDetail="true" />

							<h:outputText value="Gráfico Pai: " />
							<p:selectOneMenu id="graficoPai"
								value="#{graficoAction.graficoAdd.idPaiGrafico}" effect="fade">
								<f:selectItem itemLabel="Selecione um gráfico" itemValue="" />
								<f:selectItems value="#{graficoAction.graficoCombo}"
									var="graficoUm" itemLabel="#{graficoUm.grafico}"
									itemValue="#{graficoUm.idGrafico}" />
							</p:selectOneMenu>
							<p:tooltip for="graficoPai" showEvent="focus" hideEvent="blur" />
							<p:message for="graficoPai" id="mensGraficoPai" showDetail="true" />

							<h:outputText value="Tabela: " />
							<p:inputTextarea id="tabela"
								value="#{graficoAction.graficoAdd.tabela}" rows="2" cols="40"
								autoResize="false" required="true" />
							<p:tooltip for="tabela" showEvent="focus" hideEvent="blur" />
							<p:message for="tabela" id="mensTabela" showDetail="true" />

							<h:outputText value="Condição: " />
							<p:inputTextarea id="condicao"
								value="#{graficoAction.graficoAdd.condicao}" rows="2"
								autoResize="false" cols="40"
								title="Inserir $valor para a condição que será enviado pelo gráfico Pai" />
							<p:tooltip for="condicao" showEvent="focus" hideEvent="blur" />
							<p:message for="condicao" id="mensCondicao" showDetail="true" />

							<h:outputText value="Banco: " />
							<p:inputText id="banco"
								value="#{graficoAction.graficoAdd.conexao}" required="true" />
							<p:tooltip for="banco" showEvent="focus" hideEvent="blur" />
							<p:message for="banco" id="mensBanco" showDetail="true" />

							<h:outputText value="Exibir tabela: " />
							<p:selectBooleanCheckbox id="exibitabela"
								value="#{graficoAction.graficoAdd.dataTable}" />
							<p:tooltip for="exibitabela" showEvent="focus" hideEvent="blur" />
							<p:message for="exibitabela" id="mensExibitabela"
								showDetail="true" />

						</h:panelGrid>
					</p:panel>
				</p:tab>

				<p:tab id="colunasAgrupador" title="Colunas e Agrupador">
					<p:messages id="msgColunasAgrupador" for="pnlColunasAgrupador"
						showDetail="true" autoUpdate="true" />
					<p:panel id="pnlColunasAgrupador">

						<p:dataTable id="tblColunaAgrup" var="colunaAgrup"
							value="#{graficoAction.colunasNome}" paginator="true" rows="10"
							selectionMode="single" selection="#{graficoAction.colunaDel}"
							rowKey="#{colunaAgrup.ordem}" resizableColumns="true" >

							<f:facet name="header">
								Configuração das Colunas
							</f:facet>

							<p:column headerText="Coluna Tabela" style="width:240px">
								<p:inplace id="colunaAgrup" editor="true">
									<p:inputText value="#{colunaAgrup.coluna}" required="true" />
								</p:inplace>
							</p:column>

							<p:column headerText="Nome" style="width:240px">
								<p:inplace id="nomeAgrup" editor="true">
									<p:inputText value="#{colunaAgrup.nome}" required="true" />
								</p:inplace>
							</p:column>

							<p:column headerText="Agrupador" style="width:240px">
								<p:selectBooleanCheckbox id="agrupadorColunaAgrup" value="#{colunaAgrup.flagAgrupador}"
									required="true" />
							</p:column>

							<f:facet name="footer">
								<p:commandButton id="adicionarColuna" icon="ui-icon-plusthick"
									title="Adicionar"
									actionListener="#{graficoAction.adicionarColuna}"
									process="@this" update="tblColunaAgrup" />

								<p:commandButton id="deletarColuna" icon="ui-icon-trash"
									title="Deletar" actionListener="#{graficoAction.deletarColuna}" 
									process="@this" update="tblColunaAgrup"/>
									
							</f:facet>

						</p:dataTable>
					</p:panel>
				</p:tab>

				<p:tab id="colunasGrafico" title="Colunas Gráfico">
					<p:messages id="msgColunaGrafico" for="tblColunaGrafico"
						showDetail="true" autoUpdate="true" />
					<p:dataTable id="tblColunaGrafico" var="colunaGrafico"
						value="#{graficoAction.colunasNome}" paginator="true" rows="10"
						rowKey="#{colunaGrafico.ordem}"
						selection="#{graficoAction.colunasSelecionado}"
						resizableColumns="true">

						<f:facet name="header">
								Configuração das Colunas
							</f:facet>

						<p:column selectionMode="multiple" style="width:18px" />

						<p:column headerText="Coluna Tabela" style="width:240px">
							<h:outputText value="#{colunaGrafico.coluna}" required="true" />
						</p:column>

						<p:column headerText="Nome" style="width:240px">
							<h:outputText value="#{colunaGrafico.nome}" required="true" />
						</p:column>

					</p:dataTable>
				</p:tab>

				<p:tab id="colunasFiltro" title="Coluna Filtro">
					<p:messages id="msgColunaFiltro" for="tblColunaFiltro"
						showDetail="true" autoUpdate="true" />
					<p:dataTable id="tblColunaFiltro" var="colunaFiltro"
						value="#{graficoAction.colunasNome}" paginator="true" rows="10"
						rowKey="#{colunaFiltro.ordem}"
						selection="#{graficoAction.colunasFiltro}" resizableColumns="true">

						<f:facet name="header">
								Configuração das Colunas
							</f:facet>

						<p:column selectionMode="multiple" style="width:18px" />

						<p:column headerText="Coluna Tabela" style="width:240px">
							<h:outputText value="#{colunaFiltro.coluna}" required="true" />
						</p:column>

						<p:column headerText="Nome" style="width:240px">
							<h:outputText value="#{colunaFiltro.nome}" required="true" />
						</p:column>

					</p:dataTable>
				</p:tab>

				<p:tab id="colunasDrill" title="Coluna Drill">
					<p:messages id="msgColunaDrill" for="tblColunaDrill"
						showDetail="true" autoUpdate="true" />
					<p:dataTable id="tblColunaDrill" var="colunaDrill"
						value="#{graficoAction.colunasSelecionado}" paginator="true"
						rows="10" rowKey="#{colunaDrill.ordem}"
						selection="#{graficoAction.selecionadoDrill}"
						resizableColumns="true">

						<f:facet name="header">
								Configuração das Colunas
							</f:facet>

						<p:column selectionMode="multiple" style="width:18px" />

						<p:column headerText="Coluna Tabela" style="width:240px">
							<h:outputText value="#{colunaDrill.coluna}" required="true" />
						</p:column>

						<p:column headerText="Nome" style="width:240px">
							<h:outputText value="#{colunaDrill.nome}" required="true" />
						</p:column>

					</p:dataTable>
				</p:tab>

				<p:tab id="resGrafico" title="Resumo Gráfico">
					<p:panel header="Resumo">
						<h:panelGrid columns="2">

							<h:outputText value="Gráfico: " />
							<h:outputText styleClass="outputLabel"
								value="#{graficoAction.graficoAdd.grafico}" />

							<h:outputText value="Titulo: " />
							<h:outputText styleClass="outputLabel"
								value="#{graficoAction.graficoAdd.titulo}" />

							<h:outputText value="Tipo do gráfico: " />
							<h:outputText styleClass="outputLabel"
								value="#{graficoAction.graficoAdd.componenteWeb}" />

							<h:outputText value="Dimensão (Alt x Larg): " />
							<h:outputText styleClass="outputLabel"
								value="#{graficoAction.graficoAdd.altura} x #{graficoAction.graficoAdd.largura}" />

							<h:outputText value="Grupo: " />
							<h:outputText styleClass="outputLabel"
								value="#{graficoAction.graficoAdd.grupo.nome}" />

							<h:outputText value="Gráfico Pai: " />
							<h:outputText styleClass="outputLabel"
								value="#{graficoAction.graficoPai}" />

							<h:outputText value="Pool de execução: " />
							<h:outputText styleClass="outputLabel"
								value="#{graficoAction.graficoAdd.conexao}" />

							<h:outputText value="Query: " />
							<h:outputText styleClass="outputLabel"
								value="#{graficoAction.query}" />

							<p:commandButton id="testar" value="Testar"
								actionListener="#{graficoAction.testaQuery}" update=":centro" />
							<p:commandButton id="salvar" value="Salvar"
								actionListener="#{graficoAction.salvarGrafico}" update=":centro" />

						</h:panelGrid>
					</p:panel>
				</p:tab>
			</p:wizard>

		</h:form>
	</ui:define>
</ui:composition>

grafico.java

public class GraficoAction implements Serializable {

	private GraficoBusiness graficoNegocio;
	private GrupoBusiness grupoNegocio;
	private Grafico graficoAdd;
	private Grafico graficoPesquisa;
	@SuppressWarnings("unused")
	private List<Grafico> graficoLista;
	@SuppressWarnings("unused")
	private List<Grupo> grupoCombo;
	private List<Grafico> graficoCombo;
	private ColunasGrafico selecionadoDrill;
	private List<ColunasGrafico> colunasNome;
	private ColunasGrafico[] colunasSelecionado;
	private ColunasGrafico[] colunasFiltro;
	private String graficoPai;
	private String query;
	private Integer ordemColuna = 0;
	private ColunasGrafico colunaDel;
	private Boolean mostraTabelaResumo = false;

	public GraficoAction() {
		graficoNegocio = new GraficoBusiness();
		grupoNegocio = new GrupoBusiness();
		graficoPesquisa = new Grafico();
		graficoAdd = new Grafico();
		colunasNome = new ArrayList<ColunasGrafico>();
		ordemColuna = 0;
	}

	public List<Grafico> getGraficoCombo() {
		if (graficoAdd == null || graficoAdd.getIdGrafico() == null
				|| graficoAdd.getIdGrafico().equals("")) {
			graficoCombo = graficoNegocio.consultaTodosGraficos(graficoAdd);
		} else {
			graficoCombo = graficoNegocio.consultaMenosGrafico(graficoAdd);
		}
		return graficoCombo;
	}

	public void setGraficoCombo(List<Grafico> graficoCombo) {
		this.graficoCombo = graficoCombo;
	}

	public List<Grupo> getGrupoCombo() {
		Grupo grupo = new Grupo();
		return grupoNegocio.consultaGrupo(grupo);
	}

	public void setGrupoCombo(List<Grupo> grupoCombo) {
		this.grupoCombo = grupoCombo;
	}

	public Grafico getGraficoAdd() {
		return graficoAdd;
	}

	public void setGraficoAdd(Grafico graficoAdd) {
		this.graficoAdd = graficoAdd;
	}

	public Grafico getGraficoPesquisa() {
		return graficoPesquisa;
	}

	public void setGraficoPesquisa(Grafico graficoPesquisa) {
		this.graficoPesquisa = graficoPesquisa;
	}

	public List<Grafico> getGraficoLista() {
		return graficoNegocio.consultaTodosGraficos(graficoPesquisa);
	}

	public void setGraficoLista(List<Grafico> graficoLista) {
		this.graficoLista = graficoLista;
	}

	public ColunasGrafico getSelecionadoDrill() {
		return selecionadoDrill;
	}

	public void setSelecionadoDrill(ColunasGrafico selecionadoDrill) {
		this.selecionadoDrill = selecionadoDrill;
	}

	public ColunasGrafico[] getColunasSelecionado() {
		return colunasSelecionado;
	}

	public void setColunasSelecionado(ColunasGrafico[] colunasSelecionado) {
		this.colunasSelecionado = colunasSelecionado;
	}

	public List<ColunasGrafico> getColunasNome() {
		return colunasNome;
	}

	public void setColunasNome(List<ColunasGrafico> colunasNome) {
		this.colunasNome = colunasNome;
	}

	public String getGraficoPai() {
		return graficoPai;
	}

	public void setGraficoPai(String graficoPai) {
		this.graficoPai = graficoPai;
	}

	public ColunasGrafico[] getColunasFiltro() {
		return colunasFiltro;
	}

	public void setColunasFiltro(ColunasGrafico[] colunasFiltro) {
		this.colunasFiltro = colunasFiltro;
	}

	public ColunasGrafico getColunaDel() {
		return colunaDel;
	}

	public void setColunaDel(ColunasGrafico colunaDel) {
		this.colunaDel = colunaDel;
	}

	public Boolean getMostraTabelaResumo() {
		return mostraTabelaResumo;
	}

	public void setMostraTabelaResumo(Boolean mostraTabelaResumo) {
		this.mostraTabelaResumo = mostraTabelaResumo;
	}

	public void pesquisaGrafico() {
		graficoLista = graficoNegocio.consultaTodosGraficos(graficoPesquisa);

	}

	public void limparGrafico() {
		graficoPesquisa = new Grafico();
		graficoLista = graficoNegocio.consultaTodosGraficos(graficoPesquisa);

	}

	public void adicionarGrafico() {
		FacesContext faces = FacesContext.getCurrentInstance();
		ExternalContext context = faces.getExternalContext();

		graficoAdd = new Grafico();
		try {
			context.redirect("cadastroGrafico.xhtml");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

	public void adicionarColuna() {

		addColunaGrafico();

	}

	public void deletarColuna(ActionEvent event) {
		FacesMessage mensagem;
		
		if (colunaDel == null) {
			mensagem = new FacesMessage(FacesMessage.SEVERITY_ERROR, null,
					"Selecione uma coluna!");
			FacesContext.getCurrentInstance().addMessage(null, mensagem);
		} else {
			Iterator<ColunasGrafico> colunasNomeIt = colunasNome.iterator();
			while (colunasNomeIt.hasNext()) {
				ColunasGrafico colunaGrafico = (ColunasGrafico) colunasNomeIt
					.next();
				if (colunaGrafico.compareTo(colunaDel) == 0) {
					colunasNome.remove(colunaGrafico);
					mensagem = new FacesMessage(FacesMessage.SEVERITY_INFO, null,
							"Coluna excluida!");
					FacesContext.getCurrentInstance().addMessage(null, mensagem);
				}
			}
		}
			
	}

	public void alterarGrafico() {
		FacesContext faces = FacesContext.getCurrentInstance();
		ExternalContext context = faces.getExternalContext();
		FacesMessage mensagem;

		if (graficoAdd == null) {
			mensagem = new FacesMessage(FacesMessage.SEVERITY_ERROR, null,
					"Selecione um gráfico!");
			FacesContext.getCurrentInstance().addMessage(null, mensagem);
		} else {
			try {
				context.redirect("cadastroGrafico.xhtml");
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

	public void salvarGrafico() {
		FacesContext faces = FacesContext.getCurrentInstance();
		ExternalContext context = faces.getExternalContext();
		FacesMessage mensagem;

		if (!graficoAdd.getTitulo().isEmpty()
				|| !graficoAdd.getGrafico().isEmpty()
				|| graficoAdd.getLargura() != 0 || graficoAdd.getAltura() != 0
				|| !graficoAdd.getComponenteWeb().isEmpty()
				|| graficoAdd.getGrupo() != null
				|| !graficoAdd.getTabela().isEmpty()
				|| !graficoAdd.getConexao().isEmpty()) {
			try {
				if (graficoAdd.getIdGrafico() == null
						|| graficoAdd.getIdGrafico().equals("")) {
					
					graficoNegocio.adicionaGrafico(graficoAdd, colunasNome, colunasSelecionado, colunasFiltro, selecionadoDrill);
				} else {
					graficoNegocio.alteraGrafico(graficoAdd, colunasNome, colunasSelecionado, colunasFiltro, selecionadoDrill);
				}
				graficoLista = graficoNegocio
						.consultaTodosGraficos(graficoPesquisa);
				graficoAdd = new Grafico();
				context.redirect("listaGrafico.xhtml");
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} else {
			mensagem = new FacesMessage(FacesMessage.SEVERITY_ERROR, null,
					"Campos Obrigatorio não preenchidos!");
			FacesContext.getCurrentInstance().addMessage(null, mensagem);
		}
	}

	public void excluirGrafico() {
		FacesContext faces = FacesContext.getCurrentInstance();
		ExternalContext context = faces.getExternalContext();
		FacesMessage mensagem;

		if (graficoAdd == null) {
			mensagem = new FacesMessage(FacesMessage.SEVERITY_ERROR, null,
					"Selecione um gráfico!");
			FacesContext.getCurrentInstance().addMessage(null, mensagem);
		} else {
			Grafico graficoFilho = graficoNegocio
					.consultaFilhoGrafico(graficoAdd.getIdGrafico());
			if (graficoFilho != null) {
				mensagem = new FacesMessage(FacesMessage.SEVERITY_ERROR, null,
						"Gráfico pai não pode ser deletado!");
				FacesContext.getCurrentInstance().addMessage(null, mensagem);
			} else {
				try {
					graficoNegocio.excluiGrafico(graficoAdd);
					graficoLista = graficoNegocio
							.consultaTodosGraficos(graficoPesquisa);
					graficoAdd = new Grafico();
					mensagem = new FacesMessage(FacesMessage.SEVERITY_INFO,
							null, "Gráfico excluido com sucesso!");
					FacesContext.getCurrentInstance()
							.addMessage(null, mensagem);
					context.redirect("listaGrafico.xhtml");
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	}

	public String onFlowProcess(FlowEvent event) {

		if (event.getOldStep().equals("cadastro")
				&& event.getNewStep().equals("colunasAgrupador")) {
			
			colunasNome = new ArrayList<ColunasGrafico>();
			ordemColuna = 0;
			addColunaGrafico();
			addColunaGrafico();
			
		} else if (event.getOldStep().equals("colunasAgrupador")
				&& event.getNewStep().equals("colunasGrafico")) {
			
			if(colunasNome.size() < 2){
				FacesMessage mensagem = new FacesMessage(FacesMessage.SEVERITY_ERROR, null,
						"O número mínimo de colunas é 2");
				FacesContext.getCurrentInstance().addMessage(null, mensagem);
				return "colunasAgrupador";
			}
			colunasSelecionado = new ColunasGrafico[colunasNome.size()];
			
		} else if (event.getOldStep().equals("colunasGrafico")
				&& event.getNewStep().equals("colunasFiltro")) {

			if(colunasSelecionado.length < 2){
				FacesMessage mensagem = new FacesMessage(FacesMessage.SEVERITY_ERROR, null,
						"O número mínimo de colunas é 2");
				FacesContext.getCurrentInstance().addMessage(null, mensagem);
				return "colunasGrafico";
			}
			colunasFiltro = new ColunasGrafico[colunasNome.size()];
			
		} else if (event.getOldStep().equals("colunasFiltro")
				&& event.getNewStep().equals("colunasDrill")) {
			//nenhuma validacao
		} else if (event.getOldStep().equals("colunasDrill")
				&& event.getNewStep().equals("resGrafico")) {
			
			if(graficoAdd.getIdPaiGrafico() != null){
				consultaNomeGrupoPai();
			}
			graficoAdd.setGrupo(grupoNegocio.consultaIdGrupo(graficoAdd.getGrupo().getIdGrupo()));
			
		}
		return event.getNewStep();
	}

	private void addColunaGrafico() {
		
		ordemColuna = ordemColuna + 1;
		ColunasGrafico novaColuna = new ColunasGrafico(ordemColuna);
		colunasNome.add(novaColuna);
		
	}

	private void consultaNomeGrupoPai() {
		.....
	}
	
	public void testaQuery() {
		....
	}

	public String getQuery() {
		.....
}
}

4 Respostas

L

eu utilizei um ajax para forçar receber o dado da linha selecionada

<p:dataTable id="dataTable" value="#{controleDCTFBean.enviadas}" var="listaEnviadas"
  	            selection="#{controleDCTFBean.selecionadaObrigacoes}" selectionMode="single" rowKey="#{listaEnviadas.cliente.cod}" >
											
					<p:ajax event="rowSelect" listener="#{classeBean.onRowSelect}"  />  
        							
					<p:ajax event="rowUnselect" listener="#{classeBean.onRowUnselect}" />  

  //....segue a configuracao da coluna

</p:dataTable>

e na classeBean foi declarado os métodos

//variavel 
private Cliente selecionada = new Cliente();
//get e set 

//forçando a variavel a receber o objeto da tabela selecionada
public void onRowSelect(SelectEvent event) {
		 this.selecionada = (Cliente)event.getObject();
		
     }  

//metodo apenas para mostrar em um <p:growl/> 
    public void onRowUnselect(UnselectEvent event) {  

        FacesMessage msg = new FacesMessage("Não quero mais hahaha ");  
        FacesContext.getCurrentInstance().addMessage(null, msg);
    }

Espero ter ajudado

M

Ajudo sim funcionou esta dando um erro agora, mas está funcionando pelo menos.

Você já pego esse erro?

GRAVE: JSF1073: javax.faces.event.AbortProcessingException obtido durante o processamento de INVOKE_APPLICATION 5: UIComponent-ClientId=centro:tblColunaAgrup, Message=//C:/Users/Note12/workspace/SistemaGrafico/WebContent/conteudo/cadastroGrafico.xhtml @160,51 actionListener="#{graficoAction.deletarColuna}": java.util.ConcurrentModificationException 23/10/2012 11:52:11 com.sun.faces.context.AjaxExceptionHandlerImpl log GRAVE: //C:/Users/Note12/workspace/SistemaGrafico/WebContent/conteudo/cadastroGrafico.xhtml @160,51 actionListener="#{graficoAction.deletarColuna}": java.util.ConcurrentModificationException javax.faces.event.AbortProcessingException: //C:/Users/Note12/workspace/SistemaGrafico/WebContent/conteudo/cadastroGrafico.xhtml @160,51 actionListener="#{graficoAction.deletarColuna}": java.util.ConcurrentModificationException at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:178) at javax.faces.event.ActionEvent.processListener(ActionEvent.java:84) at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:773) at javax.faces.component.UICommand.broadcast(UICommand.java:296) at javax.faces.component.UIData.broadcast(UIData.java:912) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:781) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1246) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:308) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:178) Caused by: java.util.ConcurrentModificationException at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372) at java.util.AbstractList$Itr.next(AbstractList.java:343) at com.carriers.grafico.action.GraficoAction.deletarColuna(GraficoAction.java:205) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.el.parser.AstValue.invoke(Unknown Source) at com.sun.el.MethodExpressionImpl.invoke(Unknown Source) at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:102) at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:144) ... 26 more

L

Desculpa @mariofcc

nunca recebi esse erro

ja tentou procurar no tio google???

abrass

M

Já procurei, mas achei o problema e corrigi.
Obrigado pela ajuda.

Criado 23 de outubro de 2012
Ultima resposta 24 de out. de 2012
Respostas 4
Participantes 2