Fórum Problemas na manipulação do bean para gerar um gráfico usando Primefaces 3.4 com JSF #429000
19/11/2012
0
Pessoal estou com problemas ao utilizar o gráfico do primefaces versão 3.4 com dados do banco de dados.
O problema mesmo é no bean pois não estou sabendo informar para o componente que gerar os gráficos.
Na versão 2.2 do primefaces eu codificava assim:
Entidade
DAO
Bean
Minha pagina .xhtml
Até aqui a página redeniza o gráfico mais apenas com a versão 2.2. Ao substituir a versão do primefaces 3.4 o jeito de criar o gráfico também muda.
Toda a estrutura é feita no bean, porém não sei como utilizar-lá dentro do bean para usar a nova versão.
O problema mesmo é no bean pois não estou sabendo informar para o componente que gerar os gráficos.
Na versão 2.2 do primefaces eu codificava assim:
Entidade
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "tb_apf1")
public class Apf {
@Id
@GeneratedValue
private int id;
private double Transx;
private double Transy;
private double Valorx;
private double Valory;
private double Acessox;
private double Acessoy;
private double Usuariosx;
private double Usuariosy;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public double getTransx() {
return Transx;
}
public void setTransx(double transx) {
Transx = transx;
}
public double getTransy() {
return Transy;
}
public void setTransy(double transy) {
Transy = transy;
}
public double getValorx() {
return Valorx;
}
public void setValorx(double valorx) {
Valorx = valorx;
}
public double getValory() {
return Valory;
}
public void setValory(double valory) {
Valory = valory;
}
public double getAcessox() {
return Acessox;
}
public void setAcessox(double acessox) {
Acessox = acessox;
}
public double getAcessoy() {
return Acessoy;
}
public void setAcessoy(double acessoy) {
Acessoy = acessoy;
}
public double getUsuariosx() {
return Usuariosx;
}
public void setUsuariosx(double usuariosx) {
Usuariosx = usuariosx;
}
public double getUsuariosy() {
return Usuariosy;
}
public void setUsuariosy(double usuariosy) {
Usuariosy = usuariosy;
}
}
DAO
@SuppressWarnings("unchecked")
public List<Object[]> BuscarTranscao() {
EntityManager em = new JPAUtil().getEntityManager();
Query query = em.createNativeQuery("SELECT tb_apf1.`Data`, tb_apf1.Transx, tb_apf1.Transy FROM tb_apf1");
List<Object[]> dados = query.getResultList();
// System.out.println(dados.toString());
// System.out.println(dados.get(0)[0]);
// System.out.println(dados.get(1)[1]);
em.close();
return dados;
}
Bean
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import br.com.bb.bbcanais.Dao.ApfDAO;
import br.com.bb.bbcanais.Model.Apf;
import br.com.bb.bbcanais.Model.ApfCap;
import br.com.bb.bbcanais.Model.ApfCred;
import br.com.bb.bbcanais.Model.ApfInvest;
import br.com.bb.bbcanais.Model.ApfPrev;
import br.com.bb.bbcanais.Model.ApfSeg;
@SessionScoped
@ManagedBean
public class ApfBean {
private Apf apf = new Apf(); //criando um novo atributo do tipo apf
private List<Object[]> dados; // atributo que guarda a lista de Object
public Apf getApf() {
return apf;
}
public void setApf(Apf apf) {
this.apf = apf;
}
public List<Object[]> getDados() {
if (dados == null) {
dados = new ApfDAO<Apf>(Apf.class).BuscarTranscao();
}
return dados;
}
public void setDados(List<Object[]> dados) {
this.dados = dados;
}
}
Minha pagina .xhtml
<p:lineChart value="#{apfBean.dados}" var="dados" height="300px" width="500px" style="lineStyle"
labelFunctionY="formatCurrencyAxisLabel" dataTipFunction="getDataTipText" xfield="#{dados[0]}"
enhancedLegend="true">
<p:chartSeries label="2011" value="#{dados[1]}" style="line" />
<p:chartSeries label="2012" value="#{dados[2]}" />
</p:lineChart>
Até aqui a página redeniza o gráfico mais apenas com a versão 2.2. Ao substituir a versão do primefaces 3.4 o jeito de criar o gráfico também muda.
Toda a estrutura é feita no bean, porém não sei como utilizar-lá dentro do bean para usar a nova versão.
<p:lineChart id="linear" value="#{apfBean.linearModel}" legendPosition="e"
title="Linear Chart" minY="0" maxY="10" style="height:300px"/>
Joelson Costa
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)