iReport - Documento em branco

Olá!

Estou usando o iReport 4.0.2 para gerar relatórios e exportar o documento gerado em arquivos DOCX (diretamente sem o visualisador do relatório).

Neste relátorio, existem 3 consultas sql.

Uma no relatório principal, que faz um count de dois valores. que se encontra no column header

E duas em dois subrelatorios que estão em arquivos separados e que usam a configuração do primeiro como caminho. que contém apenas a banda details.

//chamada do relatório principal de um dos subrelatorios
$P{SUBREPORT_DIR} + "ReportV3-Sub1.jasper"

as consultas funcionam muito bem (passando os dados de uma conexão mysql pelo proprio iReport) usando “Database JDBC Connection”

e como em outro relatorio (em que eu tive que usar o “JRBeanCollectionDataSource”) faço a chamada do relatorio assim:

	private void printReportV3(String nome){
		ReportV3 report = new ReportV3();//classe que contém dados das definições do que será passado por parametro -  getAno retorna "ano" como exemplo.
		Map<String,String> param = new HashMap<String,String>();
		param.put(report.getAno(), Utilitarios.getAno());
		param.put(report.getDia(), Utilitarios.getDia());
		param.put(report.getMes(), Utilitarios.getAno());
		param.put(report.getMes(), Utilitarios.getMesNome());
		param.put(report.getNome1(), nome);
		param.put(report.getNome2(), LogIn.getSessao().getFuncionario().getNome());
		
		JasperPrint reportToPrint = null;
		try {
			reportToPrint = JasperFillManager.fillReport(new FileInputStream("reportsmodel/"+ReportV3._NOME_ARQUIVO_MODELO), param);
			//nome arquivo modelo = "ReportV3.jasper"
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (JRException e) {
			e.printStackTrace();
		} 

	    JRDocxExporter exporter = new JRDocxExporter();
		String nomeUsuario = ControleTelaLogIn.getSessao().getLogin();
		File mk = new File("usuarios\\"+nome+"\\relatorios\\ReportV3\\");

		mk.mkdirs();

		String data = Utilitarios.getDia()+"_"+Utilitarios.getMes()+"_"+Utilitarios.getAno()+"-"+Utilitarios.getHora()+"_"+Utilitarios.getMinuto()+"_"+Utilitarios.getSegundo();
	    
	    exporter.setParameter(JRDocxExporterParameter.OUTPUT_FILE, new File(mk.getPath()+"\\ReportV3-"+data+"-"+nome+".docx"));
	    exporter.setParameter(JRExporterParameter.JASPER_PRINT, reportToPrint);
	    try {
			exporter.exportReport();
		} catch (JRException e) {
			e.printStackTrace();
		}
		
	    try {
			Desktop.getDesktop().open(new File(mk.getPath()+"\\ReportV3-"+data+"-"+nome+".docx"));
		} catch (IOException e) {
			e.printStackTrace();
		}

então quando clico no botão de ação da tela que chama este método ele me devolve um arquivo docx em branco.

olhei dentro do relatório, mas as consultas funcionam lá - inclusive a exportação em docx - e nem mesmo os labels estaticos do relatório são impressos.

só estou achando estranho pois é quase o mesmo jeito de abrir um relatório usando um CollectionDataSource que eu já havia usado para abrir outro relatório.

mas neste caso apareceu esse problema.

o que pode estar acontecendo?

bom resolvi a situação passando a minha conexão por parametro no iReport.

achei que apenas configurando no programa, ele usaria alguma configuraçao diretamente no xml do relatorio.

agora que consegui trazer os dados. estou com outro problema:

Agora com os dados organizados em: Column Header, Details e Colunm Footer

eu necessito que a banda details se ajuste conforme o column footer.

o que acontece é que os dados dos dois subrelatorios podem exceder uma pagina.

e o footer contem dados que assim como o header devem aparecer em cada página.

mas, sempre que o conteudo do details é menor que o valor da pagina (quando não excede a details)
o footer é impresso como se a details estivesse totalmente preenchida deixando um grande espaço em branco no relatorio.

como faço para que o footer se ajuste conforme o conteudo da details?