iReport - construção de gráfico/query dinâmica  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
__23sf
Smalltalk

Membro desde: 04/08/2006 15:30:15
Mensagens: 2
Offline

iReport - construção de gráfico/query dinâmica

This message was edited 1 time. Last update was at 30/01/2010 12:53:52

mvsoares
JavaChild

Membro desde: 18/05/2006 16:47:55
Mensagens: 120
Localização: SP
Offline

estuda ae.. pode lhe ser util (idéia basica de relatorio)
a classe Relatorio possui metodos onde vc passa a query a ser executada




--
No mundo há 10 tipos de pessoas: as que entendem binário e as que não.
[MSN]
mutano
JavaChild
[Avatar]

Membro desde: 02/08/2006 16:07:54
Mensagens: 127
Localização: Santa Cruz do Sul - RS
Offline

Tem duas maneiras de utilizar uma query dinâmica:

Uma é enviar a query via parâmetro e utilizar em "report query" algo tipo $P!{QUERY}, onde QUERY é o nome do parâmetro, não esquecendo o "!", pois sem o "!" só é possível utilizá-lo na cláusula WHERE.

A outra maneira é montar um resultset ou um array de objetos ou maps na tua aplicação e mandar para o report... neste caso pode-se fazer o que quiser na montagem de dados, desde que utilize os mesmos campos que foram definidos no report.
leofiuza
What is classpath?
[Avatar]

Membro desde: 24/08/2006 17:13:34
Mensagens: 9
Offline

Por favor,

eu tenho uma classe para gerar o relatorio, mas o eclipse está me mostrando um erro na classe: JasperDesign, vc sabe o pq? o código é o seguinte:
OBS: O que está em negrito é o que está com erro, acho que deve ser a falta de algum , jar, vc sabe me ajudar? obrigado!


public Relatorio() {
/* Efetua a conexao a base de dados e coleta os valores da base de dados armazenando-os
em um array para ser futuramente utilizado */
try {
if (con == null) {
Class.forName(driver);
con = DriverManager.getConnection(endereco, user, pass);
Statement statement = con.createStatement();
rs = statement.executeQuery("select * from cmn_listarJornalista");
HashMap teste = new HashMap();
while(rs.next()) {
//for até o numero de campos da tabela
for (int i = 1; i < 10; i++) {
valores[i] = rs.getString(i);
}
}
}
}
catch (Exception e) {
System.err.println("Problemas apresentados na operacao de conexao");
e.printStackTrace();
}
/* Inicio do bloco que ira gerar nossos relatorios*/
try {
String array[] = valores;
JasperDesign design = JasperManager.loadXmlDesign(dir + "nrelDeclaracaoEstadoCivil.jrxml");
JasperReport jr = JasperManager.compileReport(design);
HashMap parameters = new HashMap();
parameters.put("nome",array[1]);
parameters.put("emailPesquisa", array[2]);
parameters.put("nomeVeiculoPesquisa", array[5]);
JasperViewer jrviewer = new JasperViewer(impressao,false);
jrviewer.show();
}
catch (Exception e) {
e.printStackTrace();
}
}

Quanto mais sei, mais sei que não sei!
joaoorso
JavaTeenager
[Avatar]

Membro desde: 23/11/2006 21:48:55
Mensagens: 179
Localização: Curitiba - PR
Offline

mutano wrote:Tem duas maneiras de utilizar uma query dinâmica:

Uma é enviar a query via parâmetro e utilizar em "report query" algo tipo $P!{QUERY}, onde QUERY é o nome do parâmetro, não esquecendo o "!", pois sem o "!" só é possível utilizá-lo na cláusula WHERE.



Perfeito !
Esse ponto de exclamação (!) foi minha salvação

Tem algum tutorial aqui no GUJ que cite os "modificadores" para os parametros ? Pq os tutoriais que achei na internet são meio fracos.

João Ricardo Orso .
SCJP 5.0.
TSI

----------------------------------------------------------------
Os níveis de visibilidade do Java são: public, default, protected, private e " protected by Chuck Norris ", não tente acessar um atributo com este último modificador.


Augusto Cesar
Thread.start()
[Avatar]

Membro desde: 09/12/2009 17:48:38
Mensagens: 31
Offline

Alguém sabe como faz pra retornar pdf's com gráficos gerados pelo ireport no browser usando uma aplicação???
Tipo,

Tenho um relatório com uma query dentro dele e com um gráfico de barras a ser gerado... dai eu quero que esse pdf saia no browser usando uma aplicação web.

Se alguém souber e puder me ajudar eu agradeço muito porque o que eu consegui fazer não é muito prático e eu uso várias classe pra gerar um figura. Nada muito elegante. Quero uma coisa mais simples. Tipo relatorio, gráfico, query e algum servelet para colocar isso no browser. Vlw

Choramos ao nascer, pois acabamos de chegar a esse imenso cenário de dementes. ( Shakespeare )

Os dados falam sobre a tortura do problema.
(Prof. Fonseca)
Robsonvnt
JavaChild
[Avatar]

Membro desde: 21/09/2006 15:50:35
Mensagens: 101
Offline

eu particularmente prefiro passa uma lista de objetos
faço o filtro na aplicação, ai vc pode aproveitar o mesmo relatorio
pra vario casos

Java and C++ programer
[Email] [MSN]
Augusto Cesar
Thread.start()
[Avatar]

Membro desde: 09/12/2009 17:48:38
Mensagens: 31
Offline

Assim eu conseguir fazer mas vai complicar a minha vida, preciso de alguma coisa do tipo. Criar o relatorio com a query e com o relatorio e passar a query para o relatorio e não para a classe.

Choramos ao nascer, pois acabamos de chegar a esse imenso cenário de dementes. ( Shakespeare )

Os dados falam sobre a tortura do problema.
(Prof. Fonseca)
marcosvidolin
JavaTeenager
[Avatar]

Membro desde: 18/03/2007 12:58:57
Mensagens: 172
Localização: Holambra - SP
Offline

Robsonvnt wrote:eu particularmente prefiro passa uma lista de objetos
faço o filtro na aplicação, ai vc pode aproveitar o mesmo relatorio
pra vario casos


Costumo fazer assim e ao meu ver é a forma mais simples.
Concordo!

Sun Certified Java Programmer (SCJP 1.5)
Oracle Certified Web Component Developer (OCWCD 1.5)
Blog: http://marcosvidolin.wordpress.com/
[Email] [WWW] [MSN]
Augusto Cesar
Thread.start()
[Avatar]

Membro desde: 09/12/2009 17:48:38
Mensagens: 31
Offline

Me mostra o código que vocês usam então... dependendo se for mais simples mesmo eu posso utilizar, caso contrário eu continuo tentando.. =) Não custa tentar
Porque o modo que eu to fazendo o jasper que fica na pasta de relatorios é um relatorio que nem gráfico não tem, ele tem uma imagem e encima dessa imagem que é colocado o gráfico JFreeChart... é muita loucura...

Choramos ao nascer, pois acabamos de chegar a esse imenso cenário de dementes. ( Shakespeare )

Os dados falam sobre a tortura do problema.
(Prof. Fonseca)
blackout
JavaChild

Membro desde: 06/11/2006 13:28:57
Mensagens: 138
Offline

Olá... estou com um problema chato no iReport.

Tinha feito a seguinte query:




Mas o iReport aponta o seguinte erro na validação da query:


Eu coloquei o ! como vi acima, mas aí o iReport diz que ocorre um erro de sintaxe.

Alguém já passou por isso.

Não ofereça a Deus sacrifícios que não lhe custem nada. 2 Samuel 24:24.
[Email] [MSN]
Augusto Cesar
Thread.start()
[Avatar]

Membro desde: 09/12/2009 17:48:38
Mensagens: 31
Offline

Faz um tempo que eu não mexo com o IReport mas faça o segunte... verifique se tem esse field nome foi criado... $F{} é um text field no seu arquivo. Verifica se ele realmente existe no modo gráfico pois pelo que eu entendi do erro ele pode não estar encontrando esse $F{nome}. Qualquer coisa posta ai ! Espero ter ajudado

Choramos ao nascer, pois acabamos de chegar a esse imenso cenário de dementes. ( Shakespeare )

Os dados falam sobre a tortura do problema.
(Prof. Fonseca)
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team