IReport

9 respostas
Dirk

Alguem sabe o porque desse erro ??

Compiling to file… /home/lindeberg/iReport-0.2.3/templates/Clientes.jasper -> /home/lindeberg/Clientes.java Errors compiling /home/lindeberg/iReport-0.2.3/templates/Clientes.jasper! dori.jasper.engine.JRException: Report design not valid : 1. The columns and the margins do not fit the page width. at dori.jasper.engine.design.JRAbstractJavaCompiler.compileReport(JRAbstractJavaCompiler.java:110) at dori.jasper.engine.design.JRDefaultCompiler.compileReport(JRDefaultCompiler.java:136) at dori.jasper.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:135) at dori.jasper.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:123) at it.businesslogic.ireport.IReportCompiler.run(IReportCompiler.java:148) at java.lang.Thread.run(Thread.java:534) Compilation running time : 289 Error filling print… java.io.FileNotFoundException: /home/lindeberg/iReport-0.2.3/templates/Clientes.jasper at dori.jasper.engine.util.JRLoader.loadObject(JRLoader.java:116) at dori.jasper.engine.JasperFillManager.fillReport(JasperFillManager.java:288) at it.businesslogic.ireport.IReportCompiler.run(IReportCompiler.java:212) at java.lang.Thread.run(Thread.java:534) NESTED BY : java.io.FileNotFoundException: /home/lindeberg/iReport-0.2.3/templates/Clientes.jasper at dori.jasper.engine.util.JRLoader.loadObject(JRLoader.java:116) at dori.jasper.engine.JasperFillManager.fillReport(JasperFillManager.java:288) at it.businesslogic.ireport.IReportCompiler.run(IReportCompiler.java:212) at java.lang.Thread.run(Thread.java:534) NESTED BY : dori.jasper.engine.JRException: /home/lindeberg/iReport-0.2.3/templates/Clientes.jasper at dori.jasper.engine.util.JRLoader.loadObject(JRLoader.java:116) at dori.jasper.engine.JasperFillManager.fillReport(JasperFillManager.java:288) at it.businesslogic.ireport.IReportCompiler.run(IReportCompiler.java:212) at java.lang.Thread.run(Thread.java:534) Caused by: java.io.FileNotFoundException: /home/lindeberg/iReport-0.2.3/templates/Clientes.jasper … 4 more Print not filled. Try to use an EmptyDataSource…!

9 Respostas

brlima

:arrow: :arrow: :arrow: The columns and the margins do not fit the page width

Dirk

Ei brlima, uma vez eu vi um tutorial seu a respeito de IReport , vc pode me dizer qual a URL ??

valeu

brlima

“Dirk”:
Ei brlima, uma vez eu vi um tutorial seu a respeito de IReport , vc pode me dizer qual a URL ??

valeu

right here :smiley:

Dirk

Valeu cara esse tutorial foi bem feito e eh bastante didatico. Ma to com o seguinte problema:

Minha consulta retorna os valores da coluna NOMECURTO . No meu relatorio o resultado esta saindo assim :

Unimed

Ecepel

Pague Menos

Petrobras

Mas eu gostaria q saisse assim :

Unimed -------------------- Ecepel

Pague Menos ------------- Petrobas

Como eu faco isso ???

brlima

Cara,
Ateh onde eu saiba ( e nao eh mta coisa ) o jasper nao consegue trabalhar com dois registros numa mesma linha.
Se alguem souber como me avisa :smiley:

As vezes pode ateh ter algum workarround pra isso, mas eu desconheço. :roll:

Abraços!

Dirk

Quando eu utilizava o jfreereport , estava com esse problema uma vez. Entao eu fiz o seguinte : Na hora de preenceher a minha Jtable , eu pegava de dois em dois registro contatenava e jogava na minha Jtable , assim na hora de formatar o meu codigo no XML em cada linha ja possui todas as informacoes que eu precisaria para colocar no meu relatorio. Entao conseguir colocar registros lado a lado .

No jfreereport eu utilizei Jtable , mas no jasperreport eu utilizo o que ??? Existe um correpondente do Jtable no jasperreport ??

brlima

Vc quer dizer o TableModel ?
Bem se sim, sim. No Jasper vc pode implementar um DataSource, que nada mais eh que uma interface para retornar os dados pro relatorio ( na hora de preenchimento dos dados). Seria o mesmo que o freereport faz.
Vc tem que implementar os métodos getValue e next ( to chutanto, mas eh algo do tipo ).

public class MyJRDataSource implements dori.jasper.engine.JRDataSource {
    
    private int curLine = -1;
    private TableModel model = null;
    
    /** Creates a new instance of JRAbtTableModelDataSource */
    public MyJRDataSource(TableModel modelo) {
        model = modelo;
    }
    
    /**
     *
     */
    public Object getFieldValue(dori.jasper.engine.JRField jRField) throws dori.jasper.engine.JRException {

        for( int col=0; col<model.getColumnCount(); col++){
            if( model.getColumnName(col).equalsIgnoreCase(jRField.getName()) ){
                return model.getValueAt(curLine,col);
            }
        }
        
        return null;
    }
    
    /**
     *
     */
    public boolean next() throws dori.jasper.engine.JRException {
        curLine++;
        if( curLine < model.getRowCount() ) return true;
        return false;
    }
    
}

E ao inves de passar uma Connection, é so passar esse dataSource na contrução do relatorio.

TedLoprao

Lembrando q se vc possuir uma TableModel já pronta vc poderá usar a classe JRTableModelDataSource que já vem com o Jasper… Essa classe será um adapter que recebe no construtor uma tablemodel…

Dirk

brlima, eu estava tentando rodar um exemplo de DataSource com custom datasource. Aquele que tem na pagina da ferramenta : http://ireport.sourceforge.net/cap4.html#4.1.
Mas depois que eu rodo o pdf que aparece nao possui nada !!

Acredito que so podem existir dois possiveis lugares onde estou errando :

1 - meu arquivo texto (test.csv) esta dentro da mesma pasta onde eh criado o .java. E seu conteudo eh : teste;teste;teste

2 - Eh preciso colocar os Text Fiield com os nomes COLUMN_1 ,COLUMN_2, COLUMN_3
no campo detail nao eh ??

Ja testei a conexao e deu ok !!

Criado 30 de março de 2004
Ultima resposta 2 de abr. de 2004
Respostas 9
Participantes 3