Jasper - Formatação de colunas

0 respostas
F

Boa tarde, galera.

Seguinte, estou querendo gerar um relatório em pdf com uma coluna em cada página. Encontrei um cara chamado “setColumnsPerPage” mas aparentemente ele não está funcionando.
Segue o código:

protected DynamicReport buildReport() throws Exception {

                                DynamicReportBuilder drb;
		
		SimpleDateFormat dataFormat = new SimpleDateFormat("dd/MM/yyyy");   
		
                                // Aqui tentei colocar o setColumnsPerPage mas não deu certo.
		drb.setUseFullPageWidth(true).setColumnSpace(2)
				.setPrintBackgroundOnOddRows(true).setHeaderHeight(10)
				.addAutoText("", AutoText.POSITION_HEADER,
						AutoText.ALIGMENT_CENTER).addImageBanner(
						"jasper/logo.gif", 169, 42,
						ImageBanner.ALIGN_LEFT).addAutoText(this.operacao + " / " + this.descricao, AutoText.POSITION_HEADER,
						AutoText.ALIGMENT_CENTER).addAutoText(this.nomeRelatorio,
						AutoText.POSITION_HEADER, AutoText.ALIGMENT_RIGHT)
				.addAutoText(this.nomeUsuario+ " / " + dataFormat.format(this.data), AutoText.POSITION_HEADER,
						AutoText.ALIGMENT_RIGHT);

		drb.setTemplateFile("jasper/TemplateReportPocLandscape.jrxml");

		formatarColunas();

		return drb.build();
	}

// método formatar colunas
private void formatarColunas() throws ColumnBuilderException {
		Class klass = list.get(0).getClass();
		Field[] fields = klass.getDeclaredFields();
		ReportColumnType annotation = null;

		Style headerStyle = new Style();
		headerStyle.setFont(Font.TIMES_NEW_ROMAN_SMALL);
		headerStyle.setBorder(Border.THIN);
		headerStyle.setBorderColor(Color.BLACK);
		headerStyle.setHorizontalAlign(HorizontalAlign.LEFT);
		headerStyle.setVerticalAlign(VerticalAlign.MIDDLE);
		headerStyle.setBackgroundColor(Color.LIGHT_GRAY);
		headerStyle.setTextColor(Color.WHITE);
		headerStyle.setTransparency(Transparency.OPAQUE);
		
		Style columnStyle = new Style();
		columnStyle.setFont(Font.TIMES_NEW_ROMAN_SMALL);

		for(Field f : fields) {
			annotation = f.getAnnotation(ReportColumnType.class);
			
			// Verifica se o atributo tem annotation e se ele está no array
			if(annotation != null && arraySearch(propertyNames, f.getName())) {
				
				AbstractColumn columnState = ColumnBuilder.getInstance()
					.setColumnProperty(f.getName(), f.getType().getName())	
					.setTitle(annotation.nomeColuna())
					.setWidth(annotation.weight())
					.setStyle(columnStyle)
					.setHeaderStyle(headerStyle)
					.build();

				drb.addColumn(columnState);
			}
		}
		
	}

Alguma luz?

Criado 10 de maio de 2010
Respostas 0
Participantes 1