Sub Relatório no IReport e JasperReport

Bom dia, preciso montar um relatório com um subrelatório, criei os 2 separados e funcionam perfeitamente, mas na hora que eu adiciona o subrelatorio no principal ele monta as colunas corretamente porém está trazendo os valores como null:

Chamando o relatório via Jasper:

public static void main(String[] args) throws Exception {
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    Document doc = db.parse("c:/addressbook.xml");
    String recordPath = "/addressbook/category/person";
    String arquivoJasper = "teste.jasper";
    JRXmlDataSource xmlDataSource = new JRXmlDataSource(doc, recordPath);
    JasperPrint rel = JasperFillManager.fillReport(arquivoJasper,
new HashMap(), xmlDataSource);
    JasperViewer.viewReport(rel, false);
}

Criei o campo no relatório principal e coloquei em descrição . conforme o manual, alguém tem ideía do que acontece quando traz as colunas do subrelatórios como null como se não reconhecesse o campo?

Pedrosa, não entendi como vc está fazendo, mas eu tenho vários relatórios utilizando sub-relatorios e funcionam perfeitamente, mas essa configuração do sub-report eu realizo no iReport mesmo

Passando os parametros

Acho que ele não está encontrando o campo, pq o cmapo está no sub-relatorio e não no relatorio mestre, como está configurado no iReport ?

Pedrosa,

Poste o fonte dos relatórios.

[]'s

Estou montando no IReport também, estranho que adiciono mais campos no meu relatório compilo e não aparece no Jasper View quando rodo no Java, no menu fica como (Não modificados) que coisa louca, e também quando tento rodar pelo IReport não acontece nada, ta cheio de bugs com data source em xml.
Estou usando a versão 2.0.

O que vocês acham do BIRT?

Realmente o Ireport tem muitos bugs, principalmente as versoes mais antigas, voce altera o relatorio no ireport, mas no arquivo xml ele nao modifica nada.
A ultima versao ja foi bem melhorada, mas continua com bugs…

Vc está passando algum parametro para o subRelatorio corretamente?

Estou passando assim:

((net.sf.jasperreports.engine.data.JRXmlDataSource)
$P{REPORT_DATA_SOURCE}).subDataSource("/enc/itens")

Lembrando que estou usando um data source em xml nesse formato:

<producaoencomendas>
  <enc>
    <cod>130193</cod>
    <ord>
      <cod>1840</cod>
    </ord>
    <ped>
      <cod>1134982</cod>
      <desc>tipo</desc>
    </ped>
    <empD>
      <cod>0</cod>
      <nome>RS17118</nome>
      <fant>FS17118</fant>
      <cnpj>CN17118</cnpj>
      <grup>FS17556</grup>
    </empD>
    <cont/>
    <endD>
      <ce>0</ce>
      <log>LG85776</log>
      <num>1415</num>
      <cep>04511-001</cep>
      <bai>INSTITUTO DE PREVIDENCIA</bai>
      <cid>SAO PAULO</cid>
      <est>SP</est>
      <comp>ap 150</comp>
    </endD>
    <dtEmi>14/06/2007</dtEmi>
    <dtEnt>19/06/2007</dtEnt>
    <tpEnc>Avulso</tpEnc>
    <numPeds>70</numPeds>
    <qtd>2</qtd>
    <menS>1</menS>
    <maiS>2</maiS>
    <itens>
      <ite>
        <qt>24</qt>
        <unit>1.0</unit>
        <t>24.0</t>
        <pr>
          <id>0</id>
          <cod>05.07</cod>
          <des1>DESC</des1>
        </pr>
      </ite>
      <ite>
        <qt>230</qt>
        <unit>2.0</unit>
        <t>460.0</t>
        <pr>
          <id>0</id>
          <cod>05.09</cod>
          <des1>DESC2</des1>
        </pr>
      </ite>
    </itens>
  </enc>
</producaoencomendas>

E chamo no Jasper:

String recordPath = "/producaoencomendas/enc";
String arquivoJasper = "Encomendas.jasper";
JRXmlDataSource xmlDataSource = new JRXmlDataSource(doc, recordPath);
JasperPrint rel = JasperFillManager.fillReport(arquivoJasper,
new HashMap(), xmlDataSource);
JasperViewer.viewReport(rel, false);

Outras dúvidas:

1 Como exibir o título em todas as páginas, coloquei em Title e so é exibido na primeira página?

2 Como tratar os valores null no relatório pelo IReport?

Troquei minha configuração do subrelatorio assim:

O que estou fazendo de errado?




nas propriedades do titulo vc coloca print repeated values


[code]2 Como tratar os valores null no relatório pelo IReport? [/code]

nas propriedades do valor vc coloca em print when expression um pattern
que o ireport ja tem, tipo

[code]( &lt;condition&gt; ? exp1 : exp2 )[/code]

blzz

nas propriedades do titulo vc coloca print repeated values

nas propriedades do valor vc coloca em print when expression um pattern
que o ireport ja tem, tipo

blzz