2016-05-05 1 views
1

次のJavaコードがあります。JRXMLを変更して長方形の幅を変更します。しかし、レポートの実行時にJavaコードをどのように呼び出すのですか?スクリプトレットはあまり役に立たなかった。テキストオブジェクトの幅を動的に変更するスタジオでJava/jarファイルを呼び出す方法はありますか?JasperstudioからJavaをトリガー

public class widthAdjust { 

public static void main(String[] args) { 
    JasperDesign design; 
    try { 
     design = JRXmlLoader.load("C:\\GanttChart_Java.jrxml"); 
    System.out.println(design); 
    JRField[] fields = design.getFields(); 
    JRVariable[] variables = design.getVariables(); 

    int newWidth = 100; 
    int newX = 100; 
    JRDesignBand baseBand = (JRDesignBand) design.getSummary(); 
    JRElement[] elements = baseBand.getElements(); 
    System.out.println(elements); 
    for (int counter = 0; counter < elements.length; counter++) { 
     JRDesignElement element = (JRDesignElement) elements[counter]; 
      element.setWidth(newWidth); 
      element.setX(newX); 
    } 
    JasperCompileManager.compileReportToFile(design,"C:\\GanttChart_Java.jasper"); 
    JasperCompileManager.writeReportToXmlFile("C:\\GanttChart_Java.jasper","C:\\GanttChart_Java.jrxml"); 
    JasperCompileManager.compileReport("C:\\GanttChart_Java.jrxml"); 
} catch (JRException e) { 
    e.printStackTrace(); 
}}} 
+0

固定コードとスペル – KittMedia

答えて

0

要素の属性を変更するには、Javaコードを実行してJasper APIを使用するのが最善の方法です。

ジャスパーファイルはすでに特定の幅のコンパイル済みレポートであるため、ジャスパーレポートからJavaコードを呼び出すことはできません。

関連する問題