Olá estou com problemas para usar esse recurso do primefaces, já olhei o exemplo do case no site do primefaces.org, mas não entendi direito como a meu bean recebe o parametro da linha do dataTable e como ele deve mostrar isso no dialog, segue abaixo meu codigo e meu bean, se puderem me ajudar desde já agradeço
Essa é a view jsf
``<h:form id=“form”>
<p:growl id=“msgs” showDetail=“true” />
<p:dataTable id=“tbpanel” var=“panel” value="#{ContaBean.lista_contas}" style=“font-size:11px;max-width:1200px” scrollable=“true” scrollHeight=“250”>
<f:facet name=“header” style=“font-size:16px”>
</f:facet>
<p:column headerText=“Numero” >
---------> CLASSE BEAN
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import org.primefaces.event.SelectEvent;
import org.primefaces.event.UnselectEvent;
@ManagedBean(name=“ContaBean”)
@RequestScoped
public class Conta {
private String id;
private String numero;
private String cliente;
private String dt_atendimento;
private String status;
private List lista_contas;
private Conta selectedConta;
private List selectedContas;
private Conta conta;
@PostConstruct
public void init(){
this.setConta(new Conta());
}
public String getNumero() {
return numero;
}
public void setNumero(String numero) {
this.numero = numero;
}
public String getCliente() {
return cliente;
}
public void setCliente(String cliente) {
this.cliente = cliente;
}
public String getDt_atendimento() {
return dt_atendimento;
}
public void setDt_atendimento(String dt_atendimento) {
this.dt_atendimento = dt_atendimento;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public List getLista_contas() {
lista_contas=new DaoConta().parcial_panel();
return lista_contas;
}
public void setLista_contas(List lista_contas) {
this.lista_contas = lista_contas;
}
public Conta getConta() {
return conta;
}
public void setConta(Conta conta) {
this.conta = conta;
}
public Conta getSelectedConta() {
return selectedConta;
}
public void setSelectedConta(Conta selectedConta) {
this.selectedConta = selectedConta;
}
public List getSelectedContas() {
return selectedContas;
}
public void setSelectedContas(List selectedContas) {
this.selectedContas = selectedContas;
}
public void onRowSelect(SelectEvent event) {
FacesMessage msg = new FacesMessage(“Conta selecionada”, ((Conta) event.getObject()).getId());
FacesContext.getCurrentInstance().addMessage(null, msg);
}
public void onRowUnselect(UnselectEvent event) {
FacesMessage msg = new FacesMessage(“Conta não selecionada”, ((Conta) event.getObject()).getId());
FacesContext.getCurrentInstance().addMessage(null, msg);
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
---------> CLASSE DAO
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class DaoConta {
public List<Conta> parcial_panel(){
Conexao con = new Conexao();
Connection conexao = con.conecta();
List<Conta> listaContas = new ArrayList<Conta>();
ResultSet res=null;
Statement stm = null;
String sql="SELECT CLIENTE.NOME FROM DBAMV.CLIENTE";
try{
stm=conexao.createStatement();
res=stm.executeQuery(sql);
while(res.next()){
Conta co = new Conta();
co.setCLIENTE(res.getString("NOME"));
listaContas.add(co);
}
}catch(SQLException e){
System.out.println("Ocorreu um erro na conexao com o banco no momento de inserir a lista de contas.");
}finally{
try{
stm.close();
conexao.close();
}
catch(Throwable e){
System.out.println("Ocorreu um erro ao tentar fechar a conexao.");
}
}
return listaContas;
}
}