Subrelatório

Tem como no iReport eu pegar o conteúdo de um field, passar esse conteúdo como parâmetro para um subrelatório e usar esse conteúdo do parâmetro que passei para preencher o conteúdo de um field ou um outro campo do subrelatório? Se houver jeito de fazer isso pode alguém me explicar os passos que tenho que fazer para realizar isso.

humjava86, tem sim como você fazer isto.

Para tal você deve criar um parâmetro na chamada do seu subrelatório, clicando em Add na tela de propriedades do subrelatório, como mostrado na figura abaixo.

Dê um nome para o seu parâmetro, e no campo Default Value Expression coloque o filed que deseja passar.

Agora no seu subrelatório você deve criar um parâmetro com o mesmo nome dado anteriormente. Para isso clique em View > Report Parameters, então clique em Add, conforme segue.


Bom, acretido que isto seja o suficiente para te ajudar na criação do seu subrelatório, qualquer coisa “posta” aqui de novo a sua dúvida.

Como faço para passar o caminho onde está o .jasper do meu subrelatório e também como chamo esse subrelatório?

bom cara,

para adicionar um novo subrelatorio você seleciona o Subreport Tool disponível ao lado do Textfield Tool.

Agora dê um duplo clique no ícone criado, e vá até a aba subreport, no combo Connection e selecione Use connection expression para usar a mesma conexão do relatório pai.

Na aba Subreport (Other) no campo Subreport Expression coloque o nome do subrelatório.

Basicamente é isso que é necessário para se chamar um subrelatório.
Qualquer coisa posta aí. :arrow:

Mas não precisa colocar tipo se meu jasper esta na pasta Meus Documento passar o endereço do meu jasper assim: C:/MeusDocumentos/Arquivo.jasper ?

Sim, você precisa.
Mas se o relatório pai estiver na mesma pasta do subrelatório, não há essa necessidade.

Eu fiz isso só que meu subrelatório veio em branco, deveria vir algo porque tem dados para ser impressos nesse subrelatório, você sabe o que talvez possa estar acontecendo, só pra te informar, no objeto subreport que uso no relatório principal, na aba subreport desse objeto coloquei no campo Connection\DataSource expression a opção Don’t use connection or datasource e o campo Parameters Map Expression está em branco e também para compilar os xml eu não compilo pelo iReport e sim pelo Eclipse.

bom,
marcando o combo, para não usar uma conexão, você não terá acesso a fonte de dados do relatório principal.

Sobre a compilação, acredito não existirem problemas, indiferente se você compila no Eclipse ou no iReport. Eu costumo usar o iReport, pela facilidade que ele propicia. E você já tentou compilar pelo iReport? Acontece os mesmos problemas?

O fato de o relatório vir em branco pode ser que a sua query (caso a sua fonte de dados seja um bd) do relatório pai, não esteja retornando nenhum registro, consequentemente, se o sub-relatório estiver dentro do Detail ele não vai ser executado.

O meu subrelatório está dentro de um grupo e no xml do subrelatório eu só tenho um campo que é aquele que receberá os dados que vierem por parâmetro do relatório principal.

O meu subrelatório está dentro de um grupo e no xml do subrelatório eu só tenho um campo que é aquele que receberá os dados que vierem por parâmetro do relatório principal.

Mas ainda meu subrelatório está vindo em branco, eu não uso query para o meu subrelatório, porque o field que é passado por parâmetro do relatório principal para o subrelatório, preenche o unico campo que o meu subrelatório tem. Você talvez tem idéia do que eu esteja fazendo errado ou o que está acontecendo para vir em branco. Sò para informar o meu objeto subreport está dentro de um grupo, no xml do meu subrelatório só tem um campo que será preenchido com o parametro passado pelo relatório principal, este campo do subrelatório está dentro da band detail, porque eu acho que como esse campo as vezes terá que se espandir ou diminuir para um texto que as vezes é grande ou pequeno, eu acho que a band detail tem essa propriedade de espandir ou diminuir um campo, me corrija se eu estiver errado, é que eu estou aprendendo a fazer relatório e subrelatório.

Cara,

entendi o que você esta fazendo, mas o pior é que não tenho ideia do que possa estar acontecendo. Se você puder postar os seus .jrxml seria melhor. Tem como?