Ajuda IREPORT[RESOLVIDO]

Bom pessoal seguinte tenho o seguintes resultados de uma consulta no banco.

Dados - 2010-07-14 06:47:35.078 - 256- Brahma - 0 Dados - 2010-07-14 07:47:35.078 - 256- Brahma - 0 Dados - 2010-07-14 08:47:35.078 - 256- Brahma - 0

Sendo assim com o seguinte código gero o meu Relatório

[code]
int[] a = new int[es.length];
Date[] b = new Date[es.length];
String[] c = new String[es.length];
Long[] d = new Long[es.length];
for (int i = 0; i < es.length; i++) {
System.out.println("Dados - " + es[i].getDateinc() + " - " + es[i].getPulse() + "- "
+ es[i].getDescription() + " - " + es[i].getIdEvent());
a[i] = es[i].getPulse();
b[i] = es[i].getDateinc();
c[i] = es[i].getDescription();
d[i] = es[i].getIdEvent();
parameters.put(“date”, b[i]);
parameters.put(“pulse”, a[i]);
parameters.put(“desc”, c[i]);
parameters.put(“event”, d[i]);
jp = JasperFillManager.fillReport(“RelatorioDiario.jasper”, parameters);

                }
                JasperViewer.viewReport(jp, false);[/code]

Porém ai vem o meu problema o relatorio so me mostra o último registro

Dados - 2010-07-14 08:47:35.078 - 256- Brahma  - 0

Alguém ai sabe ou tem alguma dica de como resolver isso?

Amigo, o relatorio está mostrando sempre o ultimo registro pois você está mandando apenas uma posicao atraves do vetor atraves dos parametros.

Aconselho você a criar uma classe que possua os atributos necessarios para sua pesquisa. Talvez ja exista em seu projeto, talvez seja até este propio “es”.

Entao, você manda uma colecao do “ES” para o jasper. E não parametros.

Assim supondo que vc tenha uma colecao de ES

[code]
Collection lista = // sua pesquisa do banco de dados

jP = JasperFillManager.fillReport(“RelatorioDiario.jasper”, null, new JRBeanCollectionDataSource(lista));

JasperViewer.viewReport(jp, false);

[code]

So que no seu relatorio, ao inves de vc criar os atributos como PARAMENTERS, devem ser criados como CAMPOS.

E para que a lista possa ser reproduzida no relatorio, os campos devem estar na banda DETAIL do relatorio.

Espero ter ajudado, abraço.

Bah cara muito boa sua dica porem resolvi de outra maneira

EventSensor[] es; teste = false; JasperPrint jp = null; Date dt = new Date(System.currentTimeMillis()); Date dt1 =new Date(System.currentTimeMillis()); dt.setHours(23); dt.setMinutes(59); dt.setSeconds(59); dt.setDate(dt1.getDate()-1); //dt1.setDate(dt1.getDate()+1); Map parameters = new HashMap(); Timestamp dtNoite = new Timestamp(dt.getTime()); Timestamp dtDia = new Timestamp(dt1.getTime()); parameters.put("date", dtNoite); parameters.put("date2", dtDia); System.out.println("date = " + dtNoite); System.out.println ("date2 = " + dtDia); jp = JasperFillManager.fillReport("RelatorioDiario.jasper", parameters,ResourceManager.getConnection()); JasperViewer.viewReport(jp, false);

Não fiz isso antes pois não sabia que tinha que colocar nos paramentros o Connection.

Essa tua idéia vai me ser útil em outros relatórios valeu

Abraço ai cara e agradeço pela sua atenção.