Ireport e subreport

0 respostas
L

Colegas algum manjaoo de japer ireport me ajuda, por favor !!!
seguinte fiz dois relatorios(master) e o subrelatorio(secundario), no master colokei o subreport, ok
no meu aplicativo feito em swing, o relatorio de numero 1 gera perfeito, mais qdo vou gera o relatorio de numero 2 o subreport pega dados do relatorio numero 1 … pq ??? o q tenho q mudar no meus 2 metodos??? ou no arquivooo. jrxml ??? qual no master ou secundario ???

meu metodo abaixooo …
considere q tenha um botaoo imprimir e ao clicar ele chame o metodo
public void geraRelatorio1Manut2 (secundario) e dp public void geraRelatorio1Manut1 (master)

public class GeraRelatorioManutencao {

BDConexao conexao= new BDConexao();

/* Gera Relatorio e visualiza-o */ 
public void geraRelatorio1Manut1(JanRelatorioManutencao relatorio1) throws JRException, Exception {
	Connection con = conexao.criaConeccao();
	//java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/textilmaq","root","");
	
	con.setAutoCommit(false);
	PreparedStatement consulta = con.prepareStatement
	( 
			" select codManutencao,codRelatorio,codTarefa,maquina,modelo,tarefa," +
			" periodico,ok,ajuste,reparo,substituicao,lubrificacao,data,nota " +
			" from manutencao " +
			" where codRelatorio = ? " +
			" and codTarefa <> 0 " +
			" order by codManutencao, codTarefa "  
	); 
	System.out.println("\ncod Manut 1 = "+relatorio1.campo1.getText().trim());
	consulta.setInt(1,Integer.parseInt(relatorio1.campo1.getText().trim()));
	try{
		ResultSet rs = consulta.executeQuery();
		//rs.setFetchSize(1000);
		/* JREmptyDataSource  Esvaziar o DataSource ResultSet */ 
		JREmptyDataSource jrED = new JREmptyDataSource();
		/* implementação da interface JRDataSource para DataSource ResultSet */
		JRResultSetDataSource jrRS1 = new JRResultSetDataSource( rs );
		
		/* HashMap de parametros utilizados no relatório. Sempre instanciados */
			HashMap parameters1 = new HashMap();
			parameters1.put("pathsubreport", "C:/eclipse/workspace/TextilMAQGUI/Relatorios/Manutencao2.jasper");
		
			JasperFillManager.fillReportToFile("C:/eclipse/workspace/TextilMAQGUI/Relatorios/Manutencao1.jasper", parameters1, jrRS1);
			
			con.commit();
		}
		catch(Exception e){
			JOptionPane.showMessageDialog(null,"Relatorio nao pode ser exibido, Erro "+e,"Mensagem", 0);
			con.rollback();
			consulta.close();
		}
}

public void geraRelatorio1Manut2(JanRelatorioManutencao relatorio1) throws JRException, Exception {
	Connection con = conexao.criaConeccao();
	con.setAutoCommit(false);
	PreparedStatement consulta = con.prepareStatement
	( 
			" select codManutencao,codRelatorio,codSub,tipo,subtarefa, " +
			" periodico,ok,ajuste,reparo,substituicao,lubrificacao,data,nota " +
			" from manutencao " +
			" where codRelatorio = ? " +
			" and codSub <> 0 " +
			" order by  codManutencao,codSub "
	); 
	System.out.println("\ncod Manut 2 = "+relatorio1.campo1.getText().trim());
	consulta.setInt(1,Integer.parseInt(relatorio1.campo1.getText().trim()));
	
	try{
		ResultSet rs = consulta.executeQuery();
		//rs.setFetchSize(1000);
		System.out.println("\n ok ");
		/* JREmptyDataSource  Esvaziar o DataSource ResultSet */ 
		JREmptyDataSource jrED = new JREmptyDataSource();
		/* implementação da interface JRDataSource para DataSource ResultSet */ 
		JRResultSetDataSource jrRS2 = new JRResultSetDataSource( rs ); 
		
		/* HashMap de parametros utilizados no relatório. Sempre instanciados */
		HashMap parameters2 = new HashMap();
		
		JasperFillManager.fillReport("C:/eclipse/workspace/TextilMAQGUI/Relatorios/Manutencao2.jasper",parameters2,jrRS2);
		
		System.out.println("\n ok 2 ");			
		
		con.commit();
		geraRelatorio1Manut1(relatorio1);	
	}
	catch(Exception e){
		JOptionPane.showMessageDialog(null,"Relatorio nao pode ser exibido, Erro "+e,"Mensagem", 0);
		con.rollback();
		consulta.close();
	}
	
}

}

Criado 29 de junho de 2006
Respostas 0
Participantes 1