Mostrando postagens com marcador Ireport. Mostrar todas as postagens
Mostrando postagens com marcador Ireport. Mostrar todas as postagens

quarta-feira, 21 de maio de 2014

Passar lista de string como datasource - ireport

Olá amigos,

esse post aqui será bem breve. Vamos supor que temos um relatório no ireport (independente da versão) com o seguinte layout:


Note, que na listagem de carros só existem seus respectivos nomes e o texto do título do estático. A paginação realizada foi feita usando variável nativa do ireport. Neste exemplo, não será necessário construir uma lista de objetos Carro ou Automovel para exibir os carros no relatório, basta somente criar uma lista de strings e adicionar os nomes dos carros nela. Porém, agora um problema surge. Como fazemos para que o jasperreport itere esse lista, já que ele espera que um Field ($F), sendo esse o dado que está dentro de cada posição da lista ?

A resposta é simples !! Depois de muito pesquisar, achei no link abaixo a solução.

http://www.guj.com.br/java/240613-array-de-string-no-ireport-resolvido

Para iterar uma lista de objetos simples (String, Integer, Long, etc.) que, foi passada como datasource, basta somente criar um Field com o nome de _THIS, tendo o tipo o mesmo do objeto. Exemplo:

Se temos uma lista de Integer, criamos o Field _THIS do tipo Integer
Se temos uma lista de String, criamos o Field _THIS do tipo String

Depois de ter criado o Field, clique e arraste-o para a banda detail e pronto, é só compilar e executar seu relatório que, os dados aparecerão iterados.
Leia Mais ››

segunda-feira, 10 de dezembro de 2012

Ireport corta texto

Mais uma vez desenvolvendo um relatório me deparei com um problemão, quando mandava uma string muito grande para ser exibida no report, a string vinha cortada, o texto não vinha completo. Pesquisando que nem um doido, descobri que isso era causado pela fonte que estava usando e pelo fato de uma propriedade não estar marcada.

A configuração de fonte que estava usando era: Tahoma - 8pt no report e no pdf era Sans-Serif - 8pt e isso era parte do problema. Para que funcionasse perfeitamente a exibição dos dados, tinha de mudar a fonte do report para Arial. Existe uma compatibilidade entre fontes por causa do espaçamento delas.

Um outro ponto que foi chave na solução do problema, foi marcar a seguinte propriedade:

"net.sf.jasperreports.print.keep.full.text

Property used to determine whether the fill process must preserve the original text for text elements that are not able to fit their entire contents. When this property is set, the engine saves the original text in the JRPrintText print text object, along with the index at which the text is to be truncated by the print object."


Essa propriedade está disponibilizada quando você dá um duplo clique em cima de seu parâmetro, field ou variável que representa a string. Existe um espaço para propriedades especiais que nem essa, clique no botão "Edit parameter properties" ou "Edit field properties, uma janela abrirá e nela você verá uma lista de propriedade e dois campos. Clique na propriedade descrita acima, automaticamente o primeiro campo será preenchido e no segundo campo informe que o valor dela será true.

Pronto, isso soluciona o problema. Espero ter ajudado.

http://www.guj.com.br/java/129174-jasper--ireport-cortando-texto
Leia Mais ››