Organizar dados no Ireport

Boas pessoal,

Quero organizar o meu relatorio da seguinte forma :

Clientes Novos    // Este titulo é estático ( Static Text )

joao
paulo                            // A quantidades de clientes novos varia.
....
Isabel
--------------------------------------------------------------------------------
Clientes Antigos            // Este titulo é estático ( Static Text )

Samuel
gonçalo                        // A quantidades de clientes Antigos varia.
.....
Manuel

Os clientes todos vem da mesma fonte.
Gostaria de listar todos os clientes novos e depois listar todos os clientes antigo e separar esta duas listas com uma linha. é uma especia de duas listagens.

Como posso resolver isso ?

Obrigado desde ja !

Faz um relatório principal que é a lista de novos usuários.
Aí faz um outro com a lista de antigos.
No primeiro você passa o segundo como parâmetro para ser sub dele.
Assim:

new JRBeanCollectionDataSource((ArrayList)$F{listDetail})//por exemplo

Cria um parameter que pode chamar de pathSubRel.

[code]Depois chama assim no seu código Java:
Map parameter = new HashMap();
parameter.put("pathSubRel", "C:/Relatorio/Sub-ReportGroupByList.jasper");

		ArrayList<PhoneListReportVO> phoneList = populaObjetos ();
		JRBeanCollectionDataSource jrBean = new JRBeanCollectionDataSource(phoneList);
		
		StringBuffer bufferHTML = new StringBuffer();
		JasperPrint jrprint = JasperFillManager.fillReport("C:/Relatorio/ReportGroupByList.jasper", parameter , jrBean);
		JRHtmlExporter exporter = new JRHtmlExporter ();
		exporter.setParameter(JRExporterParameter.JASPER_PRINT, jrprint);
		exporter.setParameter(JRExporterParameter.OUTPUT_STRING_BUFFER, bufferHTML );
		
		exporter.exportReport();
		
		JasperExportManager.exportReportToPdfFile(jrprint,"C:/relatorio/ReportGroupByList.pdf");
		[/code]

Talvez o interessante seria vc separar isso
no código, e mandar duas listas distintas
para o jasper: veja esse artigo

http://blog.apollo-ti.com/?p=8

entao vc poderia criar 2 sub relatorios
acredito que seja uma opção mais tranquila…

FLwS…

Bom dia!

           Estou aproveitando este tópico para expressar minha dúvida sobre "JRBeanCollectionDataSource com Properties".

           Ao invés de passar um ArrayList de Object´s, porque não posso passar um ArraList de Properties?

           Tem que haver uma forma do Report entender isso.

           Quem pode me ajudar?
    				ArrayList<Object> alItens = new ArrayList<Object>();
    				
					Properties pItens = new Properties();
					pItens.put("NumItem", 1);
					pItens.put("Local", "Local 1");
					pItens.put("Defeito", "Defeito 1");
					pItens.put("Descricao", "Descricao 1");
					alItens.add(pItens);
    				
					Properties pItens2 = new Properties();
					pItens2.put("NumItem", 2);
					pItens2.put("Local", "Local 2");
					pItens2.put("Defeito", "Defeito 2");
					pItens2.put("Descricao", "Descricao 2");
					alItens.add(pItens2);
    				
    				Properties pItens3 = new Properties();
    				pItens3.put("NumItem", 3);
    				pItens3.put("Local", "Local 3");
    				pItens3.put("Defeito", "Defeito 3");
    				pItens3.put("Descricao", "Descricao 3");
    				alItens.add(pItens3);
					
//    				ItemVO vo = new ItemVO();
//    				vo.setNumItem(new Integer(1));
//    				vo.setLocal("Local 1");
//    				vo.setDefeito("Defeito 1");
//    				vo.setDescricao("Descricao 1");
//    				alItens.add(vo);
//    				
//    				vo = new ItemVO();
//    				vo.setNumItem(new Integer(2));
//    				vo.setLocal("Local 2");
//    				vo.setDefeito("Defeito 2");
//    				vo.setDescricao("Descricao 2");
//    				alItens.add(vo);
//
//    				vo = new ItemVO();
//    				vo.setNumItem(new Integer(3));
//    				vo.setLocal("Local 3");
//    				vo.setDefeito("Defeito 3");
//    				vo.setDescricao("Descricao 3");
//    				alItens.add(vo);

    				JRBeanCollectionDataSource bcdsItens = new JRBeanCollectionDataSource(alItens);