Layout Quebrado no IReport[RESOLVIDO]

Opa pessoal!Eu ia postar um exemplo aqui de relatório usando beans(um Principal e um subrelatório Auxiliar), mas a coisa não ficou 100%: O subrelatório está sempre saindo em outra página, mesmo tendo espaço, e eu ter referenciado ele no relatório principal.
Vejam:

ou aqui:
http://img222.imageshack.us/img222/1088/erroplanilhawl6.jpg

Não sei o que tá rolando, mesmo desmarcando “divisão permitida” e tentando alguns truques aqui, o relatório sai em 2 folhas.(pûs os 2 jrxml-Principal e Auxiliar no anexo)

Diminui ainda mais os espaços, mas nada!!!
Alguém teria uma vaga idéia?(Eu quero por o código aqui como exemplo de relatório-subrelatório com Beans para o pessoal, mas não quero pôr um relatório que apesar de exibir os dados corretamente, está com layout “quebrado”…)
Anexei o pdf gerado.

Consegui por todos os dados(relatório principal+ o do subreport) só numa folha, zerando todas as bandas (menos a Detail lógico) do meu relatório Principal.
Melhorou pacas, mas ainda tem um grande problema: cria sempre uma inútil página a mais, com um pedaço do logo(ver anexo).
Alguém já teve problema similar???

Bom, depois de muito mexer(é um saco ter que ficar “tateando” algo até acertar, a documentação podia melhorar…), o tio Iron matou, e o pior que foi de uma forma simples(arrrrgghhh!!!):Matei todas as bandas de todos os relatórios, só deixando a Detail em cada um(tanto no Principal como no Auxiliar).Para ficar registrado de como fazer, usei 2 Beans:

public class DadosGerais implements Serializable { /** * */ private static final long serialVersionUID = 2008321325220635878L; public String empresa_solicitante; public String data_consulta; public String nome; public String numero_da_formula; public String numero_do_processo; public String formula; public String descricao; public String data_anterior; public String data_posterior; private ArrayList<ResultadoFormula> rf = new ArrayList<ResultadoFormula>(); //Construtor, getters and setters }


public class ResultadoFormula implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -3759994263131778595L;
	public String valor_inicial1;
	public String valor_inicial2;
	public String valor_inicial3;
	public String valor_inicial4;
	public String valor_inicial5;
	public String valor_final1;
	public String valor_final2;
	public String valor_final3;
	public String valor_final4;
	public String valor_final5; 
	public double variacao;
	public String variacao_indice1;
	public String variacao_indice2;
	public String variacao_indice3;
	public String variacao_indice4;
	public String variacao_indice5;
	public String variacao_indice6;
	public String variacao_indice7;
	public double dolar;
	public double ipca;
	public double igpm;
	public String comentario;
	public String codigo;
//Construtor Getters and Setters

Uma classe TestaDados, que é a minha Fonte de dados no IReport, pelo método getBeanCollection:

[code]
import java.util.*;

public class TestaDados{

public static ArrayList<DadosGerais> getBeanCollection() {
	ResultadoFormula rf=new ResultadoFormula("100.00","200.00",null,null,null,
	"200.00","400.00",null,null,null,100.0,"74.5","25.5",null,null,null,null,null,
	2.6451,1.789016,1.009,"Lorem ipsum dolor sit amet, consectetuer adipiscing elit,Ut pulvinar mattis lacus. Vestibulum tellus tortor, lacinia sit amet, pretium eu, facilisis quis, ligula. Proin dictum sollicitudin dolor. Phasellus posuere.Nunc consectetuer dolor ut pede. Phasellus odio urna, lobortis non, adipiscing non, ullamcorper sit amet, arcu. Phasellus tellus dui, ultrices at, suscipit eu, venenatis sit amet, eros. Sed ac odio. Donec pretium. ",
	"Caio Rolando da Serra-09/01/2009 16:59:59-Nº1234589");
	ArrayList<ResultadoFormula> rfs = new ArrayList<ResultadoFormula>();		
	 rfs.add(rf);
	
	DadosGerais d=new DadosGerais("IBM","09/01/2009","Caio Rolando da Serra",
	"F3021","P123456/90-S","0.5 X Fa+ 0.5 X T","Fórmula do Pão","08/2001","12/2008",rfs); 
	ArrayList<DadosGerais> dg=new ArrayList<DadosGerais>();
	dg.add(d);
	
	return dg;

}	

}[/code]
E uma Classe que executa o relatório:

[code]
public class TestaRelatorio{

public static void main(String[] args){

try{
String caminhoRelatorio = “C:/Principal.jasper”;
String caminhoSubRelatorio = “C:/Auxiliar.jasper”;
JasperReport relatorio = (JasperReport) JRLoader.loadObject(caminhoRelatorio);
JasperReport subRelatorio = (JasperReport) JRLoader.loadObject(caminhoSubRelatorio);
Map<String, Serializable> parameters = new HashMap<String, Serializable>();
parameters.put(“subrelatorio”, caminhoSubRelatorio);

JasperFillManager.fillReportToFile(caminhoRelatorio, parameters, new JRBeanCollectionDataSource(TestaDados.getBeanCollection()));

//create a PDF file			
JasperExportManager.exportReportToPdfFile("C:/Principal.jrprint");			
	
System.out.println( "Arquivo PDF criado usando um .jrprint Jasper");			

}catch(JRException e){
e.printStackTrace();
}
catch(Exception e){
e.printStackTrace();
}

}

}[/code]
Os .jrxml estão zipados no anexo.Lembrando que eu usei como logo uma figura de 790x90.