DataTable - após selecionar linha, direcionar à outra página

0 respostas
V

Olá pessoal,

Alguém sabe como fazer para que após selecionar determinada linha de um datatable, o formulário seja submetido e portanto direcionado a outra página ?

<p:dataTable id="clientes" var="cli" value="#{pedidoVendaBean.mediumClienteCgc}" 
                                     selectionMode="single" selection="#{pedidoVendaBean.clienteSelecionado}" 
                                     rowStyleClass="#{cli.saldoEmAtraso gt 0 ? 'vermelho' : cli.saldoEmAberto le 0 ? 'verde' : 'amarelo' }" 
                                     emptyMessage="Informe acima a primeira letra ou parte da razão social ou CNPJ para obter a lista de clientes." >
                            <p:ajax event="rowSelect" listener="#{pedidoVendaBean.onRowSelect}" immediate="true"
                                    update=":form_busca_cliente:display :form_busca_cliente:msgs" />  
                            <p:column>
                                <f:facet name="header">  
                                    Clique no cliente desejado para dar continuidade ao cadastro do pedido.
                                </f:facet>
                                <p:commandLink action="#{pedidoVendaBean.onRowSelect}" >
                                    &lt;h:outputLink value="cad_pedido_venda02.jsf"  &gt;#{cli.codigo_cliente} - #{cli.loja_cliente}&lt;/h:outputLink&gt;<br />
                                &lt;/p:commandLink&gt;
                                &lt;h:outputText value="#{cli.nome_cliente}" /&gt;<br />
                                &lt;h:outputText value="#{cli.nome_reduzido}" /&gt;<br />
                                &lt;h:outputText value="#{cli.cgc} |#{cli.forma_pagto}|#{cli.tipo_frete}|" &gt;
                                    &lt;f:converter converterId="cnpjConverter" /&gt;
                                &lt;/h:outputText&gt;<br />
                            &lt;/p:column&gt;
                        &lt;/p:dataTable&gt;

Tentei usando o commandLink acima apontando para o método abaixo mas não houve sucesso.

public void onRowSelect(SelectEvent event) {
        this.pedido.setCliente(clienteSelecionado);
        System.out.println("passou em onRowSelect: " + this.pedido.getCliente().getCgc());
    }

Grato,

Vicente :slight_smile:

Criado 16 de fevereiro de 2012
Respostas 0
Participantes 1