Duvida no ireport

11 respostas
M

ola galera …

tenho um string que preciso passar de parametro pra um relatorio no ireport, mas nao to conseguindo, alguem pode me ajudar …

ai vai minha classe que chama o relatorio …

import javax.swing.*;
import java.sql.*;
import java.util.*;
import java.io.*;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.view.JasperViewer;

public class chama {
	
	public chama(String codigo) {

		//JOptionPane.showMessageDialog(null, codigo_barra ,"linha digitavel" , JOptionPane.ERROR_MESSAGE );
		
		try {
			Class.forName("org.postgresql.Driver");
 			Connection conexao = DriverManager.getConnection( "jdbc:postgresql://localhost:5432/cliente", sus , sen );
 			PreparedStatement sql = conexao.prepareStatement(" select * from cliente ");
 			
 			ResultSet rs = sql.executeQuery();
 			
 			JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );
 
 			Map parameters = new HashMap();

 			JasperPrint impressao = JasperFillManager.fillReport( "codigo.jasper" , parameters , jrRS );
 			
 			JasperViewer viewer = new JasperViewer(impressao, false);
 			viewer.setVisible(true);
 		}
		catch (Exception ee) {
			JOptionPane.showMessageDialog(null,"Não foi possível conectar ao banco de dados !\nO sistema irá encerrar ! \n" + ee.getMessage() ,"Operador",JOptionPane.ERROR_MESSAGE);
		}
	}
}

eu recebo a string codigo …
preciso mandar essa string para o relatorio, como faco ???
ja tenho o relatorio pronto, so falta mandar imprimir essa string …
e no relatorio, como faco pra receber essa variavel ??

11 Respostas

jason

Amigo faltou você informar para o parameters o valor do parametro do ireport.

Ex.: Parametro do iReport = “codigo”

faça.: parameters.put(“codigo”, codigo);

M

o primeiro parametro, “codigo” , seria o valor da string certo ??
e o segundo parametro, codigo , o que eh?? para que serve ??

e no relatorio, como faco pra receber essa string ??

jason

Vamos lá…

[color=blue]o primeiro parametro, “codigo” , seria o valor da string certo ?? - Esse primeiro “codigo” é o nome do parametro que você deverá criar no relatorio(iReport).
e o segundo parametro, codigo , o que eh?? para que serve ?? - Esse segundo codigo é o valor da string
[/color]

M

ah ta, agora entendi direitinho …

criei um parametro onde paso por ele uma string …
no relatorio criei um textfield para imprmir o valor dessa string, mas imprime o valor_default que coloquei no textfield, como faco pra imprimir o valor da variavel ??

C

Agora você deve criar um parâmetro no IReport
e colocar esse Parâmetro dentro do field

$P{codigo}
M

na hora de criar esse parametro …
em default value expression, o que eu coloco : $P{codigo} ou “codigo”

C

Coloque o valor default do String, seria “” (vazio)

M

e no textfield, em propriedades, textfield, textfield expression eu coloco

$P{codigo}

??

dae quando visualizo o relatorio, nao aparece nada, fica em branco esse textfield …
sera que o parametro nao esta recebendo minha variavel …
dei um system.out.println na variavel antes do parameters.put e o seu valor estava correto …
tem como dar um system.out.println na variavel dentro do relatorio …
ou mostra numa joptionpane - mas ja no relatorio ?? - so pode ser isso …

C

Para passar dados para o IReport você deverá passar pelo Map de sua classe Java, e pegar os valores pelo Parameter do IReport.

Veja se o nome do Map coincide com o nome do Parameter que você criou do IReport,

Ah, pelo meu conhecimentos acho que só da pra testar pelo field mesmo…

Até +

hvivox
Alguém pode me ajudar a resolver este problema  estou a dias tentando resolver e não consigo, consegui gerar relatorio no iReport mais nao consigo utilizar a classe para gerar relatorios. veja o problema neste link abaixo

http://www.guj.com.br/posts/list/55481.java

M

aeeee

consegui galera …

o nome do parametro era o mesmo da string …

mudei para codigo1 (parametro) e codigo2 (string) - dae funcionou

obrigado a todos que me ajudaram

Criado 28 de março de 2007
Ultima resposta 29 de mar. de 2007
Respostas 11
Participantes 4