Caros colegas, estou desenvolvendo uma aplicação e estou com um problema com um relatorio, quando fecho o relatorio toda aplicação tambem fecha.
Já fiz alterações na propriedade defaltCloseOperation mas não adiantou.
Segue abaixo o codigo do botão geraRelatorio. Se puderem me ajudar?
public void geraRelatorio_veiculos_desejados() throws JRException, Exception {
Connectioncon=getConnection();Statementstm=con.createStatement();Stringquery="select * from cadastro";ResultSetrs=stm.executeQuery(query);HashMapparameters=newHashMap();JasperPrintjp=JasperFillManager.fillReport("C:\\Relatorios\\rel_veiculos.jasper",parameters,con);JasperViewerjrv=newJasperViewer(jp);jrv.setVisible(true);JasperViewer.viewReport("C:\\Relatorios\\rel_veiculos.pdf",true);}
O construtor do JasperViewer tem um parametro que vc passa o que ele vai fazer quando for fechado, se vai fechar toda sua aplicação junto ou n…
JasperViewerjrv=newJasperViewer(jp,false);
G
gleybsonmanso
Muito obrigado … valeu…;
Problema resolvido …
G
gleybsonmanso
Você saberia me informar como eu poderia melhorar meu relatorio, como por exemplo:
colocar um filtro de pesquisa como por data inicio e data final?
viniciusfaleiro
Sim… Isso é feito dentro do java… Eu conheço duas maneiras de fazer… uma é criar uma lista de objetos e passar como parametro para o IReport… Essa lista poderia ser proveniente de uma consulta de um banco. Outra maneira (Inclusive é a que eu uso) é passar direto a SQL para o IReport, ou seja, vc coloca seu filtro na consulta e passa somente a consulta para o Ireport…
Tem bastante exemplo no GUJ… se quiser alguma coisa me manda uma MP…
G
gleybsonmanso
Acredito que da maneira que voçê utiliza seja melhor.
Então se eu alterar o select do codigo que lhe mostrei acima, teria
algo a mais para acrecentar no codigo para passar a consulta para o report?
viniciusfaleiro
Na verdade tem N possibilidades. O Ireport te dá mtas ferramentas… Más como vc está començando, na interface do usuário (no caso o seu filtro) trate a SQL e envie para o ireport. É bem como vc está fazendo ai no seu código, más na interface visual vc trata a SQL para colocar a filtragem.
Qdo pegar mais jeito com isso procura utilizar PreparedStatement, também tente colocar suas SQLS fora do seu código. Por exemplo, utilize um arquivo TXT com properties onde vc coloca todas suas consultas separando o banco. Isso é básico para ter um código limpo. Eu por exemplo deixo todas minhas consultas dentro do próprio BD e se precisar alterar as consultas eu não mexo no código…
G
gleybsonmanso
Você conhece algum exemplo aqui no GUJ o qual seria semelhante a minha duvida?