parâmetros no iReport

4 respostas
M

Olá pessoal!

Alguem que já trabalhou com o IReport saberia me dizer se há

uma maneira de gerar relatórios somente com parâmetros

passando dados direto do código para o relatório? :?:

Obrigado!!

4 Respostas

elugo

da uma olhada nesse tópico

http://www.guj.com.br/posts/list/110217.java#594726

M

ok, mas no iReport você teve que configurar alguma conexão?
eu estava pensando em pegar todos os dados via código e passar
estes por parametros, assim eu poderia re-utilizar o mesmo arquivo
jasper para mais de um relatório…

veja meu código:

public void graphicReport()
    {   
       try
        {
            Locale locale = Locale.getDefault();
            DateFormat dt = DateFormat.getDateInstance( DateFormat.SHORT, locale );
            
            Database db = Database.getInstance();
            
            HashMap parameters = new HashMap();
            
            parameters.put( "name_third", "Responsável" );
            parameters.put( "name_second", "Título" );
            parameters.put( "name_fourth", "Data de Início" );
            parameters.put( "name_first", "Id" );
            
            String sql = "select * from bsc_actionplans " ;
                         
            
            ResultSet rs = db.getConnection().createStatement().executeQuery( sql );
            
            while ( rs.next() )
            {
                parameters.put( "first", String.valueOf( rs.getInt("id") ) );
                parameters.put( "second", rs.getString( "title" ) );
                parameters.put( "third", rs.getString( "owner" ) );
                parameters.put( "fourth", rs.getDate( "start_date" ) == null ? "(Sem Data)" : dt.format( rs.getDate( "start_date" ) ) ); 
            }

            JasperPrint print = JasperFillManager.fillReport( "/home/rels/ProjectReportFree.jasper", parameters  );
            
            JasperViewer.viewReport( print );
        }
       catch ( Exception e )
        {
            JOptionPane.showMessageDialog( null, e.getMessage() );
            e.printStackTrace();
        }
  }

porém como não uso os Fields no iReport ele diz que não há dados a serem exibidos…

elugo

miguel

Vc tem que estabelecer uma conexão no IReport com seu banco.

se vc pesquisar vc vai ver que tem como vc mandar só os objetos ai nesse caso não precisaria mas,
vc teria que configurar o classpath do Ireport para sua .class.

da forma que estava t recomendando vc cria a conexoa e monta sua query dentro do Ireport
passando sómente o parâmetro da busca.
Ai quando vc montasse sua query automaticamente iria aparecer os campos que vc poderia utilizar nos seus filds…

M

ok!
brigadão pela ajuda!!

Criado 21 de novembro de 2008
Ultima resposta 21 de nov. de 2008
Respostas 4
Participantes 2