JasperReports 0.6.1: Passar parâmetro para sub relatório com conexão Custom JRDataSource  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
Leandro BSB
JavaChild
[Avatar]

Membro desde: 15/06/2003 00:00:31
Mensagens: 132
Offline

Caríssimos,

estou desenvolvendo um relatório usando o JasperReports 0.6.1 com conexão do tipo Custom JRDataSource no qual preciso criar um sub relatório. Alguém sabe uma forma de chamar o método estático da Factory class passando um parâmetro (para o sub relatório)?

[]s

Leandro
Lindberg
JavaEvangelist
[Avatar]

Membro desde: 02/05/2006 19:23:53
Mensagens: 363
Offline

Ola

Primeiro baixe a versao mais recente JasperReport 1.2.2

Depois configure os classpath.

Comece criar relatorios.

para chamar o relatorio:

olha ai:

----------------
import java.io.IOException;
import java.io.StringReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;

import javax.swing.text.BadLocationException;
import javax.swing.text.rtf.RTFEditorKit;


import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;

/* Primeira parte */
public class relatorio {


private Connection con = null;
private String driver = "oracle.jdbc.driver.OracleDriver";
private String endereco = "enderecoBanco";
private String user = "usuarioBanco";
private String pass = "senhaBanco";
private ResultSet rs = null;
private String valores[] = new String[10];
private int chamada = 1;
private String dir = "local onde está o arquivo do relatorio";
private StringReader stream;
/*Segunda parte */

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 a ser executado");

JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);

JasperPrint jasperPrint = JasperFillManager.fillReport(
"relatorio.jasper", new HashMap(), jrRS);

JasperViewer.viewReport(jasperPrint);

}
}
catch (Exception e) {
System.err.println("Problemas apresentados na operacao de conexao");
e.printStackTrace();
}
}
/* Aqui chamamos o construtor de nossa classe para exibirmos o relatorio e 4ª parte*/
public static void main (String args[]) {
new relatorio();
System.out.println("ok");
}
}


-----------------

Não esqueça dos drives do seu banco de dados

Lindberg

Aqui... A turma é D+++.
[WWW] [MSN]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team