Criei uma classe para o relatorio jasperreport
veja a classe
package ClasseParamentro;
import java.util.Date;
/**
*
* @author neto amorim
*/
public class listaVenRese {
public String Grupo;
public String Cotac;
public String Datso;
public String Datrs;
public double tdias;
// Campo para o paramentro do relatorio ..
public String getGrupo(){
return Grupo;
}
public String getCotac(){
return Cotac;
}
}
agora veja onde estou chamando o relatorio…
List lista = new ArrayList(); // UMA LISTA PARA RECEBER DA DADOS
listaVenRese vrs = new listaVenRese();
String p_nomve = Variav_Nomfu.getText();
String cfu = Variav_Codfu.getText();
cvar1 = "FORNE"+nl;
csql = "select * from "+cvar1+" where vende = "+sqlstr(cfu)+
" and sql_deleted = 'F' order by vende,grupo,cotac" ;
con_Movpe.ExecuteSQL(csql);
try
{
int i = 1;
String passa = "";
while(con_Movpe.rst.next())
{
String cgr = con_Movpe.rst.getString("Grupo");
String ctc = con_Movpe.rst.getString("Cotac");
cvar1 = "MOVPE"+nl;
csql = "select * from "+cvar1+" where grupo = "+sqlstr(cgr)+
" and cotac = "+sqlstr(ctc)+" and comte = ' ' and cance = ' '"+
" and sql_deleted = 'F'" ;
con_Movpe.ExecuteSQL2(csql);
try
{
if (con_Movpe.rst2.first())
{
passa = "t";
}
else
{
passa = "f";
}
}
catch(SQLException erro3)
{
}
cvar1 = "MOVPE"+nl;
csql = "select * from "+cvar1+" where grupo = "+sqlstr(cgr)+
" and cota2 = "+sqlstr(ctc)+" and comte = ' ' and cance = ' '"+
" and sql_deleted = 'F'" ;
con_Movpe.ExecuteSQL2(csql);
try
{
if (con_Movpe.rst2.first())
{
passa = "t";
}
else
{
passa = "f";
}
}
catch(SQLException erro3)
{
}
if (passa.equals("f"))
{
vrs.Grupo = con_Movpe.rst.getString("Grupo"); // NO POST QUE EU BAIXEI ESSA VARIAVEL ESTA ASSIM VRS.SET("") só que na variavel vrs não dar a opção set e dar um erro ai coloquei igual;
vrs.Cotac = con_Movpe.rst.getString("Cotac");
vrs.Datso = con_Movpe.rst.getString("Datso");
vrs.Datrs = con_Movpe.rst.getString("Datrs");
lista.add(con_Movpe.rst.getString("Grupo"));
lista.add(con_Movpe.rst.getString("Cotac"));
lista.add(con_Movpe.rst.getString("Datso"));
lista.add(con_Movpe.rst.getString("Datrs"));
}
}
}
catch(SQLException erro2)
{
}
try
{
//Object array[] = lista.toArray();
Map<String, Object> parametros = new HashMap<String, Object>();
parametros.put("grupo",lista.get(0)); // AQUI TAMBEM ESTA DIFERENTE ESTA ASSIM "PARAMENTRO",LISTA.GET(0).GETNOME() ,mais dar erro no segundo get
parametros.put("cotac",lista.get(1));
parametros.put("NOMVE", cfu);
//paramentros.put("P_DATDV", array[5]);
//paramentros.put("P_TIPO", array[6]);
JRDataSource jrRS = new JRBeanArrayDataSource(array);
JasperReport jasperreport = JasperCompileManager.compileReport("relatorio/Rlt_VenReserva2.jasper");
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperreport, parametros,jrRS);
JasperViewer.viewReport(jasperPrint,false);
} catch (Exception erro){
JOptionPane.showMessageDialog(null,"deu erro ="+erro);
}
e o relatorio dar esse seguinte erro:
INVALID BYTE 1 OF 1-BYTE UTF8 SEQUENCE
gostaria que vcs me ajudassem pq eu fiz o array com uma classe onde informei essa classe para o ireport para pegar os campos… e nesse array adicionar os dados