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 ››