JasperReports - como configurar colunas dinâmicamente

Bom dia,
Estou usando o JasperReports pela primeira vez e me deparei cum um problema.

Tenho um relatório que me retorna dados de um objeto, porem de acordo com a vontade do usuário nem todos os campos são exibidos

ex:
o relatorio tem : " nome | email | data de inscrição | endereço | telefone"

se o usuário quizer pode trazer apenas “nome | email”

na pagina html eu controlo isso pela sessão criada de configuração e monto um CSS que mostra ou não as colunas.

a pergunta é como fazer um .jasper que possa ser dinamico (apresentar apenas os campos da sessão) , como posso configurar isso no XML (.jrxml)

existe algum tipo de if else no jrxml?

Alguem pode me ajudar ?

vc pode usar crosstabs no ireport.
t+ 8)

O problema aqui é que quando eu coloco como no exemplo

" nome | email | data de inscrição | endereço | telefone" e peço para imprimir apenas nome e endereço
ele fica com o espaço dos demais campos no relatorio
nome | | | endereço |

também estou precisando criar um relatorio dinamico ± igual ao seu ! estou vendo uma alternativa. Vi que com o JasperDesign da para fazer o relatorio programaticamente.
Qualquer avanço te informo, t+.

Vendo em outro forum achei alguem que soubesse explicar melhor meu problema…

“EU tenho um relatório com várias colunas, porém algumas delas não devem aparecer em certas situações, e eu gostaria que as colunas à direita se deslocassem para a esquerda, preenchendo o espaço das colunas invisíveis. Seria algom como o “Float”, que funciona para mover os campos abaixo para cima, mas preciso para o lado.”

esse é o problema , será que tem como?