2017-11-01 10 views
0

페이지 방향 및 크기를 동적으로 설정할 수 있도록 수정해야 할 기존 동적 재스퍼 보고서가 있습니다. 나는 dynamicReportBuilder.setPageSizeAndOrientation(...)을 사용하여 이것을 달성 할 수 있었다. 나는 변경할 수있는 방법Dynamic Jasper를 사용하여 동적으로 JRXML 속성을 설정하는 방법

<title> 
    <band height="20" splitType="Stretch"> 
     <textField> 
      <reportElement x="0" y="0" width="760" height="20"/> 
      <textElement textAlignment="Center" verticalAlignment="Middle"> 
       <font fontName="ConjectSans" size="14" isBold="false"/> 
      </textElement> 
      <textFieldExpression><![CDATA[$P{title}]]>  
      </textFieldExpression> 
     </textField> 
    </band> 
</title> 

있나요 : 문제는 ... 내가 변경할 때 페이지 제목은 페이지의 중간에 더 이상 크기 없다고 내가 좋아하는 제목을 정의하고 있습니다

입니다 위의 내용은 페이지의 크기에 관계없이 제목 텍스트가 페이지 중간에 떠오르게 할 것입니까?

JRElement element = jasperReport.getTitle().getElementByKey("graphWidthKey"); 
element.setWidth(100); 

하지만 어떻게 내가에서 JasperReport 개체에 대한 액세스를받을 수 있나요 : 나는 II 대신 내가 좋아하는 뭔가를 할 필요는 jrxml 동적 너비 속성을 설정할 수 없습니다 인터넷 검색 한 내용에서

동적 재스퍼의 DynamicReportBuilder?

답변

0

당신은 그렇게 할 수 없습니다. JasperReport 객체는 읽기 전용 객체입니다. 이것은 JasperDesign 객체를 컴파일 한 결과입니다.

프로그래밍 방식으로 페이지 크기를 설정할 수 있다는 점이 역동적입니다! 다시 변경해야하는 경우 보고서를 다시 생성하십시오.