Ireport: Stretch with overflow duplicando dados

11 respostas
marlon_patrick

E ae galera…to com um provlema chato pra caramba e não consegui resolver de jeito nenhum…
se puderem me ajudar…
bem…foi o seguinte:
Eu tenho um relatorio com alguns campos na band detail, e um desses campos tem a opção “stretch with overflow” marcada…
o problema é que…
quando chega no fim de uma página, e o campo é grande, tendo que ser esticado ocorre o seguinte:
1 - o ireport escreve todos os campos do registro, e o campo que esta com “crescimento dinamico” o ireport escreve até onde dá…
2 - depois ele quebra a página…e ae repete todos os dados do registro, e o campo com “crescimento dinamico” o irepot escreve o que não deu pra escrever na pagina anterior…
parecendo assim que houve uma duplicação de dados…

alguem sabe solucionar isso???

vlw

11 Respostas

Metaleiro

Estou com um problema semelhante, como conseguiu resolver ?

Gerva

Mude as opções de split da banda Detail :slight_smile:

marlon_patrick

Cara, sinceramente já faz tanto tempo que não me lembro a solução.

Metaleiro

Apareceram essas opções, como mudo o Split o meu é o 4.0 ?

Desde já agradeço !

Metaleiro

Alterei essa opção dessa forma, porém não funcionou :

<columnHeader>
		<band height="48" splitType="Prevent"/>
	</columnHeader>
	<detail>
		<band height="172" splitType="Prevent">
leoramos

Verifica se os dados que estão repetidos não estão com a opção “Print in first whole band” marcadas… se estiverem, desmarca.
Pelo que tô vendo da situação, é só isso.
Abraço!

Metaleiro

Deixei marcar todas essas opções “Print in first whole band”, ainda assim não funcionou.

Obrigado !

leoramos

Mas não é pra marcar, é justamente pra desmarcar hehe
E tem uma outra propriedade chamada “Print When Detail Overflows”, também deves desmarcar.
Abraço!

Metaleiro

DEsmarquei as opções e não funcionou, fiz então algo nojento,

Criei novos campos no bean, retirei a coluna, fiz um relatório comum:

for (Iterator iterator = lista.iterator(); iterator.hasNext();) {
				EmpresaVO empresaVO = (EmpresaVO) iterator.next();
				
				if(status){
						empresa.setRazaoSocial(empresaVO.getRazaoSocial());
						empresa.setEndereco(empresaVO.getEndereco());
						empresa.setBairro(empresaVO.getBairro());
						empresa.setCidade(empresaVO.getCidade());
						empresa.setCep(empresaVO.getCep());
						empresa.setComplemento(empresaVO.getComplemento() == null ? "" :empresaVO.getComplemento());
						empresa.setContato(empresaVO.getContato());
						empresa.setEstado(empresaVO.getEstado());
						status = false;
						
						if(total.equals(count)){
							if((total % 2) !=0){
								
								empresa.setRazaoSocialTemp("");
								empresa.setEnderecoTemp("");
								empresa.setBairroTemp("");
								empresa.setCidadeTemp("");
								empresa.setCepTemp("");
								empresa.setComplementoTemp("");
								empresa.setContatoTemp("");
								empresa.setEstadoTemp("");
								
								listaVO.add(empresa);
						    }
						}
						
				}else{
						empresa.setRazaoSocialTemp(empresaVO.getRazaoSocial());
						empresa.setEnderecoTemp(empresaVO.getEndereco());
						empresa.setBairroTemp(empresaVO.getBairro());
						empresa.setCidadeTemp(empresaVO.getCidade());
						empresa.setCepTemp(empresaVO.getCep());
						empresa.setComplementoTemp(empresaVO.getComplemento() == null ? "" :empresaVO.getComplemento());
						empresa.setContatoTemp(empresaVO.getContato());
						empresa.setEstadoTemp(empresaVO.getEstado());
						status = true;
						
						listaVO.add(empresa);
						empresa = new EmpresaVO();
				}
				
				count++;
			}
            
            setListaRelatorio(listaVO);
Kardok

Ok , eu procurei e cheguei a esse topico.
Consegui resolver :smiley:

Alterando o campo Sretch Type ( do proprio $FIELD) de No Strech PARA Relative to Band Height
Espero ter ajudado!

A

Obrigado deu certo por aqui…

Criado 26 de março de 2008
Ultima resposta 24 de jul. de 2015
Respostas 11
Participantes 6