iReport subir banda

Dae galera!!

Assim , tenho um relatório no ireport com várias banda e tal, dae quando ele gera a segunda folha só uma dessas bandas pode aparecer…até ai tudo tranquilo , mas esta banda é a detail e ela esta no meio do relatório dae na segunda folha aparece a detail bem no meio , e acima dela em branco pois setei Boolean.FALSE para os outros componentes…

Alguem saberia como “puxar” esta banda detail para o topo do relatório?

Não sei se fui claro o bastante , mas qualquer coisa posta ae…

[]'s

Pelo que eu li em alguns artigos e em forum não é possivel mudar a ordem das bandas.

psé , mas é uma necessidade … derrepente tenha um jeito…

se alguem souber , posta ae , vou continuar procurando…

[]'s

Acho que para seu caso o melhor seria usar SubReport.
Vai por esse caminho.

o componente que ta na banda detail é um Sub , mas na segunda folha este sub tinha q ir pro começo da folha e nao fica no meio

OK.

Vamos ver se entendi, se não me explique melhor. No seu relatório tem title preenchida com alguns componentes titpo StaticText ou TextField, tem a banda pageHeader com alguns componentes, a banda columnHeader também com alguns componentes e a detail com o subreport.

Os componentes que estão nas bandas pageHeader e columnHeader sempre vão repetir em todas as páginas, por isso você “setou” Boolean.FALSE para não aparecer a partir da segunda página.

Dai mais dicas:

  • na banda title só vai aparecer na primeira página do relatório. Talvez esses componentes podem ser colocados nesta banda;
  • outra dica, não testei essa, na propriedade de cada banda tem Print When expression. Talvez role de colocar aqui uma expressão para controlar isso. Tipo imprima somente na primeira página.

Mais isso tudo também depende de como foi implementado e do tamanho de seu problema.

Qualquer coisas estamos aí.

a primeira dica eu nao posso implementar , pois pra cima deste sub que esta na banda detail , tem mais uns subs , mas isto nao vem ao caso , setei na Print When expression

$V{PAGE_NUMBER}.intValue() == 1 ? Boolean.TRUE : Boolean.FALSE

dae consigo fazer sumir os componente das bandas , mas o caso é que eles estão la só estão invisiveis ,

dae fica aquele espaço em branco , sabe como deletar eles? ou fazer eles nao ocuparem aquele espaço na pagina?

t+

Onde você colocou o printWhenExpression?

Se você colocou na propriedade do componente vai acontecer isso mesmo. O componente vai ficar invisível e a banda continua com o tamanho já definido, por isso o espaço em branco. Mas se colocar printWhenExpression na propriedade da banda vai funcionar como você pretende.

Veja o trecho abaixo de um teste que fiz. Na banda pageHeader coloco um printWhenExpression com a função que você fez. Isso faz com que essa banda somente apareça na página 1 sem espaços em branco na página 2 - ela ficou invisível. Na banda columnHeader coloquei um componente staticText com um printWhenExpression com a mesma função. Acontece a mesma coisa, o staticText aparece na primeira página e não aparece na segunda, mas a banda aparece vazia (espaço em branco) - porque meu printWhenExpression só foi vinculado ao meu componente e não a banda.

[code]





			<staticText>
				<reportElement
					x="0"
					y="6"
					width="230"
					height="19"
					key="staticText-1">
						<printWhenExpression><![CDATA[ $V{PAGE_NUMBER}.intValue() == 1 ? Boolean.TRUE : Boolean.FALSE]]></printWhenExpression>
					</reportElement>
				<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
				<textElement>
					<font/>
				</textElement>
			<text><![CDATA[Coluna da Tabela]]></text>
			</staticText>
			<staticText>

				<reportElement
					x="133"
					y="-18"
					width="230"
					height="19"
					key="staticText-4"/>
				<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
				<textElement>
					<font/>
				</textElement>
			<text><![CDATA[Página principal]]></text>
			</staticText>
		</band>
	</columnHeader>

[/code]

Tenta fazer esse teste ai no seu relatório.
setar o printWhenExpression da propriedade da banda e não dos componentes que estão na banda.

Espero que isso ajude, se não posta o seu jrxml +ou- com o que você está fazendo.

bahhhh

feito cara, bem isso , nao tinha me ligo nas propriedades da banda ali…bem isso mesmo

valeu mesmo mestre

abraço!!!

Pessoal, preciso de ajuda…
Estou com o problema descrito acima, testei a solução dada pelo colega, funcionou para as bandas pageHeader e ColumnHeader, porém para a que eu preciso que é a pageFooter ou ColumnFooter ela não funcionou…

Alguém tem idéia de como posso resolver isso…

vlw…

Oi…

Explica +ou- aí o que você está querendo fazer.
Você precisa que o pageFooter ou ColumnFooter aparecem hora sim hora não, dada uma condição?

Estou fazendo uma DANFE, na banda detail tenho uma lista de produtos e no rodapé tem alguns campos, porém este rodapé só pode aparecer na primeira página.
Consegui fazer com que ele não aparecesse nas outras paginas, setei na Print When expression:

$V{PAGE_NUMBER}.intValue() == 1 ? Boolean.TRUE : Boolean.FALSE

Os campos não aparecem, mas o espaço fica em branco… e a lista de produtos que está na banda detail não desce até o fim da página.
Fiz o teste com o rodapé tanto na banda ColumnFooter como na pageFooter, mas não consegui fazer com que não ficasse espaço em branco nas páginas.

Me ajudem por favor…

Tenta setar nas propriedades dos text field que estão no footer, a opção de “remover linha quando vazio”.

Sim a linha é removida, mas o problema não é os fields, e sim o tamanho da banda.
Os fields são removidos, porém a banda fica do msm tamanho, com o espaço em branco.

Preciso fazer com que o tamanho da banda diminua ou melhor que não apareça após a primeira página.

rsss…

[quote=SuelenLeme]Sim a linha é removida, mas o problema não é os fields, e sim o tamanho da banda.
Os fields são removidos, porém a banda fica do msm tamanho, com o espaço em branco.

Preciso fazer com que o tamanho da banda diminua ou melhor que não apareça após a primeira página.

rsss…
[/quote]

Conseguiu uma solução?

Bom dia!

Se for a column footer que vc quer ocultar, ja tentou setar a propriedade “Float column footer” ?

Att.

[quote=ManoJava]Bom dia!

Se for a column footer que vc quer ocultar, ja tentou setar a propriedade “Float column footer” ?

Att.[/quote]

Essa propriedade se refere ao Relatorio como um todo né? Se sim, entao… eu ja havia habilitado essa opcao anteriormente. No entanto, sem sucesso.


Pela sua imagem, vc quer que o footer apareça apenas na última página, sendo assim pq não usa a banda “last page footer” ?

Att.

[quote=ManoJava]Pela sua imagem, vc quer que o footer apareça apenas na última página, sendo assim pq não usa a banda “last page footer” ?

Att.[/quote]

Porque essa band aparece alinhada ao bottom da pagina. Ela deveria se impressa logo apóso o detail 1.

Obrigado pela ajuda ^^. To com uma briga de foiçe aki com o IReport.