e ai pessoal…
to com um probleminha com uma geração de um relatório no IReport.
segue minha classe:
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
//import net.sf.jasperreports.engine.data.JRBeanArrayDataSource;
//import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.view.JasperViewer;
public class Imprime implements ActionListener
{
private RegProtocolosInterno dados;
private JDesktopPane desktop;
public Imprime(RegProtocolosInterno dados, JDesktopPane desktop)
{
this.dados = dados;
}
public void actionPerformed(ActionEvent ev)
{
Hashtable map = new Hashtable();
map.put("NUMERO", dados.num.getText());
for(int l = 0; l < dados.registros.getRowCount(); l++)
{
map.put("DATA_OPER", ""+l);
}
try
{
JREmptyDataSource jrDataSoursePrincipal = new JREmptyDataSource();
JasperPrint relatorio = JasperFillManager.fillReport("./Relatórios/Protocolo2.jasper", map, jrDataSoursePrincipal);
JasperViewer.viewReport(relatorio, false);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
gostaria de enviar para o jasper os dados contidos na tabela “registros” da classe RegProtocolosInterno, ou seja, que ele gerasse campos conforme a quantidade de linhas contidas na tabela.
como vcs podem observar eu tentei
for(int l = 0; l < dados.registros.getRowCount(); l++)
{
map.put("DATA_OPER", ""+l);
}
e não deu certo, pq ele soh envia a última linha da tabela.
Não sei se ficou bem clara o meu problema mas se tiver como e alguém souber como fazer e puder me ajudar ficarei mto agradecido.
desde já agradeço a atenção de todos.
flws