Como faço para Ireport receber valores de uma classe?
22 respostas
gabrielemidio
Olá Pessoal, estou com uma duvida estou terminando meu projeto (TCC) e estou com dificuldade para enviar valores de uma classe venda para o Ireport não consegui entender muito bem essa criação de metodos para o Ireport… alguem poderia me ajudar???
Obs: a cada venda feita preciso gerar um relatório daquele cliente especifico…
Map<String, String> paramJasper = new HashMap<String, String>();
paramJasper.put("param1","param2");
JasperFillManager.fillReport(sourceFileName,paramJasper, connection);
att,
gabrielemidio
Polverini o seu metodo seria para criar uma lista setando todas as vendas para o IReport???!! mais ou menos isso???
pedruhenrick o método map entre os parenteses param1 e param2 seriam parâmetros criados no java e enviados para o IReport??? como citei logo acima eu precisaria de algum dados apenas esse IReport serviria como uma nota fiscal par ao cliente.
Obrigado.
Polverini
no meu eu crio um relatório com os dados de uma List de um determinado bean, crio um um relatório pelo ireport e nele eu tenho os fields com o mesmo nome dos atributos da minha classe, ai quando executo ele pega os dados do bean e joga no relatório, desse jeito eu posso passar por parametros tbm, é só no ireport criar os parametros e no hashmap vc colocar os parametros como o @pedruhenrik disse !
pedruhenrik
e se vc montasse um relatório no ireport igual a DANFE ( ou nota fiscal q vc esteja utilizando), ai vc pode utilizar xpath com base em um arquivo xml.
ou então utilizando o map vc mandaria muitos parametros.
pedruhenrick o método map entre os parenteses param1 e param2 seriam parâmetros criados no java e enviados para o IReport???
sim, são criados no java.
att,
gabrielemidio
ok vou da mais uma pesquisada aqui se tiver mais duvida eu volto agradeço a ajuda de vocês…
thanks =)
gabrielemidio
Pessoal ta complicado eu não to conseguindo entender mesmo a questão dos parametros do Ireport, e quando eu tento colocar a biblioteca em meu projeto ele da erro…
Alguem me ajuda!!!
A duvida é como eu vou passar informações vinda da classe para o IReport pelo seus proprios parametro?algeum poderia mostrar um exemplo bem claro pegando um código pelo mesmo e depois enviando para o Ireport criar seu SELECT lá dentro e trazer as infromações.Obrigado
Att.
pedruhenrik
vamos por partes…
vc criou um relatório no ireport? qual é a query? q tipo de informação vc precisa passar para o relatório? a informação q vc vai passar faz parte do relatório?
no Ireport vc tem q criar os parametros para recebelos atraves de um Map e nisso a chave no map deve ter o mesmo nome do para no ireport.
o seu relatório ta rodando legal no ireport? qual o erro ao tentar gerar pela IDE? posta a sua classe q chama o relatório tb.
att,
gabrielemidio
ok pedru seguinte eu preciso mostrar algumas informações na venda como nome do cliente , funcionario, e o preço da venda e mais alguns items.
o Ireport roda normal quando faço um select e do um preview aparece os dados normais, mas quando vou chamar pelo JButton as bibliotecas não responde e quando eu insiro a biblioteca do jasperreports ele mostra um projeto com Warnning, e os imports dão erro.
Isso no map passando as informações da classe para o Ireport que não entendi???
pedruhenrik
ok pedru seguinte eu preciso mostrar algumas informações na venda como nome do cliente , funcionario, e o preço da venda e mais alguns items.
todas essas informações vem da query? por favor posta a query q vc utiliza.
o Ireport roda normal quando faço um select e do um preview aparece os dados normais, mas quando vou chamar pelo JButton as bibliotecas não responde e quando eu insiro a biblioteca do jasperreports ele mostra um projeto com Warnning, e os imports dão erro.
netbeans ou eclipse? quais as libs vc importou no projeto?
geralmente eu utilizo essas libs:
barbecue-1.5-beta1.jar //opcional, caso utilize código de barras
barcode4j-2.0.jar //opcional, caso utilize código de barras
commons-beanutils-1.8.2.jar
commons-collections-3.2.1.jar
commons-digester-1.7.jar
commons-logging-1.1.jar
groovy-all-1.5.5.jar
iText-2.1.7.jar
jasperreports-3.7.2.jar
poi-3.7-20101029.jar //não tenho certeza
posta também a sua classe que chama o relatório.
att,
gabrielemidio
QUERY QUE USO PARA MANDAR OS DADOS PARA O BANCO E VOU UTILIZAR PARA PEGAR OS DADOS DO DETERMINADO CLIENTE
esse é a api do jasper que da erro quando importo par ao projeto :jasperreports-3.0.1.jar
btnimprimir.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){//Aqui eu deveria colocar os parametros e chamar relatorio dentro desse action}
pedruhenrik
Gabriel, ta certa essa sua query? insert mesmo?
vc pode deixar a query registrada no relatório ao invés de passar por código java, assim vc passa apenas a conexão para o relatório.
da uma olhada em um tutorial sobre ireport.
e posta tb o erro q dá ao importar todas as libs do ireport.
att,
gabrielemidio
A query esta certa sim Pedru e pq esse Action serve para registrar a compra em meu Banco e com essas informações que vão ser passadas para o Insert eu tenho que pegar e mandar para o Relatorio
o Erro que ocorre é que ele não identifica a lib no projeto meu projeto fica com um ponto de afirmação no projeto…
cara ja li tudo que vc pensar em Ireport mais não consegui entender nada na parte de criar o parametro e enviar para ele…
Obrigado
gabrielemidio
Vou tentar explicar de uma forma mais clara… =)
vamos supor que tenho um cliente cadastrado em minha aplicação com numero de seu código 3,um funcionario tambem numero 2.
eu vou dar um select no banco em ambas informações e vou trazer as informações que preciso dos dois, RG,nome,Telefone etc.
Depois eu vou pegar o valor da venda e mandar tambem para o Relátorio e imprimir a cada finalização de venda seria uma forma só de comprovar a venda ao cliente e ao estabelecimento.
A questão é que não sei enviar essas informações para o Ireport entende ???pq gerar um relatório de todas venda consigo só não consigo gerar um expecifico.
Agradeço a ajuda…
pedruhenrik
então Gabriel,
acho q entendi perfeitamente o q vc quer fazer.
e realmente acredito q parametros possam te ajudar.
eu consigo passar um exemplo sólido daqui uns 2 dias no máximo, se ate la vc não conseguir resolver.
no ireport do lado esquerdo tem uma aba chamada parametros clica com o botão direito e em novo, o nome q vc der a esse parametro é o mesmo que deve estar na chave do Map, ai vc consegue arrastar esse parametro como se fosse um field para o relatório.
att,
gabrielemidio
Certo eu estou usando o plugin da IDE mesmo mas consegui criar o parametro na query eu criei um chama nome_fun
ele ficaria assim no código???
Map<String, String> paramJasper = new HashMap<String, String>();
paramJasper.put("nome_fun");// ficaria assim mesmo???
JasperFillManager.fillReport(sourceFileName,paramJasper, connection);
obs : esse put serve para que?
vlw Pedru ta me ajudando muito eu vou aceitar sim o exemplo, é pq meu tcc eu apresento ele Terça-feira mais de qualquer forma eu aceito o exemplo…
defina “apresentar”, hehe acho q ta bem em cima hein.
att,
gabrielemidio
kkkk correria escrevi errado pskpskspks
sim esta bem em cima, eu fui deixar o IReport por ultimo, e fui terminar a parte logica quinta -feira ai fiquei o ferido atras disso vou ver se consigo falar com meu professor de java segunda-feira …