run:
log4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" net.sf.jasperreports.engine.JRRuntimeException: No such parameter SORT_FIELDS
at net.sf.jasperreports.engine.fill.JRFillDataset.getParameterValue(JRFillDataset.java:963)
at net.sf.jasperreports.engine.fill.JRFillDataset.getParameterValue(JRFillDataset.java:944)
at net.sf.jasperreports.engine.fill.DatasetSortUtil.needSorting(DatasetSortUtil.java:86)
at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:609)
at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1281)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:901)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:845)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:378)
at tutorialrelatorios.util.ReportUtils.openReport(ReportUtils.java:45)
at tutorialrelatorios.Main.abrirRelatorioClientes(Main.java:50)
at tutorialrelatorios.Main.main(Main.java:27)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 7 segundos)
o iReport 3.7.5 possui uma nova função de ordenar a impressao do relatório
talves não tenha se dado conta disto, e o erro acima mencionado 'SORT_FIELDS’
é o parametro que vc deve informar ao relatório ( forma como ele deve imprimir )
No caso, vc nao esta mandando nada e ele fica Null, gerando com isso o seu
Exception in thread "main" net.sf.jasperreports.engine.JRRuntimeException: No such parameter SORT_FIELDS
THIAGOANALISTA
Cara, eu tinha lido um tópico seu falando sobre isso, mas não encontrei onde fica essa propriedade, vc sabe me informar como não deixá-la nula?Valeu pela atenção!!!
TheKill
HashMap hm; hm.put(“SORT_FIELDS”, valor);
THIAGOANALISTA
Amigo, deu o seguinte erro e não consegui resolver:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */importjava.io.InputStream;importjava.sql.SQLException;importjava.util.HashMap;importjava.util.Map;importnet.sf.jasperreports.engine.JRException;importtutorialrelatorios.jdbc.ConnectionFactory;importtutorialrelatorios.util.ReportUtils;/** * Ponto de entrada do projeto. * * @author Thiago */publicclassMain{HashMaphm;/** * @param args the command line arguments */publicstaticvoidmain(String[]args){newMain().abrirRelatorioClientes();}publicvoidabrirRelatorioClientes(){// note que estamos chamando o novo relatórioInputStreaminputStream=getClass().getResourceAsStream("/bancos.jasper");// mapa de parâmetros do relatórioMap<String,Object>parametros=newHashMap<String,Object>();/* * Insere o parâmetro primeiroNome no mapa, com o valor F% * ou seja, todos os clientes que tenham primeiro nome começando * com a letra F. */parametros.put("nome","A%");// outros possíveis parâmetros aqui...hm.put("SORT_FIELDS",1);try{// abre o relatórioReportUtils.openReport("Clientes",inputStream,parametros,ConnectionFactory.getSupercredConnection());}catch(SQLExceptionexc){exc.printStackTrace();}catch(JRExceptionexc){exc.printStackTrace();}}}
wamarra
vc esta tentando usar um HashMap sem inicializa-lo
public class Main {
HashMap hm ;
.
.
.
.
.
hm.put("SORT_FIELDS",1);
Teria q inicializa-lo primeiro
HashMap hm = new HashMap(); //porem o ideal eh usar generics
Map<String, Object> mapa = new HashMap<String, Object>();
porém se entendi direito, vc esta querendo passar um parametro para iReport…
e vc jah tem um Map com o nome de "paremetros"
basta utiliza-lo:
parametros.put("SORT_FIELDS",valor);
junto com os outros parametros setados no map
e caso não tenha esse parametro no iReport vc terar q criar