Tenho um Bean onde um dos seus atributos eh outro Bean, ex:
[code]Class Comensal{
ComensalId comensalid;
getComensalId() { ... }
}
Class ComensalId{
String Matricula;
getMatricula() { ... }
}[/code]
Quero entao acessar o atributo Matricula, utilizando no Ireport ((ComensalId)$F{comensalid}).getMatricula()
E quando COMPILO para gerar o .jasper o ireport me da o seguinte ERRO:
Compiling to file… P:\RU\SCR\Reports\Residentes.jasper ->
P:\RU\SCR\Reports\RelModelo.java Errors compiling P:\RU\SCR\Reports\Residentes.jasper! P:\RU\SCR\Reports\RelModelo.java:94: cannot access ComensalId
bad class file: C:\report\ComensalId.class
class file contains wrong class: SCR.scrbeans.ComensalId
Please remove or make sure it appears in the correct subdirectory of the classpath.
value = (java.lang.String)(((ComensalId)((java.lang.Object)field_comensalid.getValue())).getMatricula()); ^ 1 error net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: See error messages above. at net.sf.jasperreports.engine.design.JRAbstractJavaCompiler.compileReport(JRAbstractJavaCompiler.java:155) at net.sf.jasperreports.engine.design.JRDefaultCompiler.compileReport(JRDefaultCompiler.java:137) at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:142) at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:130) at it.businesslogic.ireport.IReportCompiler.run(IReportCompiler.java:336) at java.lang.Thread.run(Unknown Source)
Obs: Eu coloquei a classe no ClassPath.
Alguem ja passou por erro semelhante ou sabe como resolve-lo?
estou tentando acessar um objeto List com meus objetos, porém para montar cada gráfico preciso pegar um desses objetos. Como eu consigo acessar o objeto para passá-lo para as propriedades do grafico?
estou tentando acessar um objeto List com meus objetos, porém para montar cada gráfico preciso pegar um desses objetos. Como eu consigo acessar o objeto para passá-lo para as propriedades do grafico?[/quote]
Vc quer acessar um objeto através da lista? ex:
No java
public class ClasseA{
private List<ClasseB> listClasseB;
//+ metodos encapsuladores
}
public classe ClasseB{
private idB;
//+ metodos encapsuladores
}
No iReport vc seta o classtapath com os arquivos compilados .class manda Ler os atributos e depois vc vai selecionado e adicionando os campos selecionados ao selecionar o campo listClasseB; vc edita a expressao dele e peça para atribuir o valor q vc quer da classe B.
Na realidade estou tentando acessar um List que passei como parametro - $P{listaDeObjetos} - diretamente no iReport. No java para eu acessar cada elemento do List eu tenho que fazer:
List<Objeto>lista = new ArrayList<Objeto>();
lista.add(new Objeto());
lista.get(i); // o i indica a posição, ded 0 até a última do List. Que é na realidade algo que eu preciso lá no jasper para poder pegar os objetos e assim poder acessar seus atributos.
tem alguma forma de fazer isso? ou tem um jeito mais fácil?
[quote=felipecaparelli]Na realidade estou tentando acessar um List que passei como parametro - $P{listaDeObjetos} - diretamente no iReport. No java para eu acessar cada elemento do List eu tenho que fazer:
List<Objeto>lista = new ArrayList<Objeto>();
lista.add(new Objeto());
lista.get(i); // o i indica a posição, ded 0 até a última do List. Que é na realidade algo que eu preciso lá no jasper para poder pegar os objetos e assim poder acessar seus atributos.
tem alguma forma de fazer isso? ou tem um jeito mais fácil?[/quote]
Olá.
Essa sua lista são os dados que deve ser iterados?
Se sim, você pode fazer assim?
JasperRunManager.runReportToPdf(relatorioJasper, parametros, new JRBeanCollectionDataSource(listaDeObjetos));
Se for esse o seu problema, basta procurar aqui no forum sobre JRBeanCollectionDataSource.
e esta disparando isso:
[color=red]net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: 1. The type Persistence.Unidades cannot be resolved. It is indirectly referenced from required .class files " - "+ ((Unidades)((Servicos)((java.lang.Object)field_servicosIdservicos.getValue())).getUnidadesIdunidades()).getUnidade());[/color]
quando coloquei meu objetos na pasta do ireport
nao coloquei com o pacote!
agora coloi a pasta toda com os objetos
e quando vou chamar agora faço assim:
se for isso… vc tem que clicar la na barra de menu… na opção de dados lá (nao lembro o nome)
e escolher outra forma de interação de dados…
ai vc coloca sua LIST la… e pronto
se nao conseguir… posta dinovo que eu explico com mais detalhes
Tenho um view na base de dados e de la eu pego alguns dados que depois de manipulados vao para uma tabela e sao mostrados na tela (estou usando o zk), e eu quero pegar os dados dessa tabela e fazer um relatorio em pdf, ou seja, apresentar um tabela semelhante mas em forma de relatorio PDF.
Peço ajuda, ou se puderem indicar um link onde poderei encontrar o que quero.
Sei que faz tempo este post…Mas alguem poderia me ajudar com algo parecido que vc estava discutindo ?
Tenho minha classe assim :
public class ClasseA{
private beanA;
private baanB;
private List<ClasseB> listClasseB;
private List<ClasseC> listClasseC;
// Gets e Sets
}
Eu já acesso nesta classe os beans assim $F{beansA}.getCampo1()
Porem proceiso acessar as lista… Ja temtei algo parecido $F{listClasseB}.getCampo1(), porem nao acessa da erro.