2017-02-03 20 views
-1

List as paramterを次のようにJasperに渡します。ジャスパーレポート印刷Arraylistのカスタムオブジェクト

Map<String, Object> model=new HashMap<>(); 
    List<CustomObject> issues=new ArrayList<>(); 
      issues.add(new CustomObject(1,"AIRPORT Services","XYZ","asdfa","asdf","asddf")); 
      issues.add(new CustomObject(1,"AIRPORT Services","XYZ","asdfa","asdf","asddf")); 
      model.put("issues",issues); 
      JasperPrint jasperPrint1 = JasperFillManager.fillReport(report, model, new JREmptyDataSource()); 

ジャスパーでissuesListを取得できましたが、カスタムオブジェクト内の値を取得できません。 CustomObjectの

続い作品や版画の参照は、私はカスタムオブジェクト内のフィールドの値にアクセスしたいときは、例外をスローし、次の

<textFieldExpression><![CDATA[$P{list}.get($V{ROW_INDEX})]]></textFieldExpression> 

を使用して反復など

<textFieldExpression><![CDATA[$P{list}.get($V{ROW_INDEX}).getCustomMethod()]]>

例外:

Exception obtained is: The method getCustomMethod() is undefined for the type Object value = ((java.util.List)parameter_list.getValue()).get(((java.lang.Integer)variable_ROW_INDEX.getValue())).getCustomMethod(); //$JR_EXPR_ID=0$ 

MikeのヘルプでPrint an arraylist content with JasperReports 私はジャスパーで私のArraylistを繰り返しました。どのような助けも高く評価されます。方法getCustomMethodは()のタイプのために定義されていない:私はちょうど と同じようObjectからCustomObjectにキャストするとき

+0

に従ってください、私は碧玉を知らないが、得られ、このエラー '例外がある私のために働きましたObject value'は、宣言されたインスタンスの型がListから取得する印象が 'CustomObject'ではなく' Object'だけであるという印象を与えます。 'CustomObject'にキャストする方法を見つけてください。 – davidxxx

+0

あなたが正しいこれは私がJRXMLの中にキャストしたときに私のために働いた –

+0

Great :)答えを書いてそれを受け入れることをためらわずに。それは他人を助けることができる。 – davidxxx

答えて

1

これは

<textFieldExpression><![CDATA[((com.custom.CustomObject)$P{flightIssues}.get($V{ROW_INDEX})).getCustomeMethod()]]></textFieldExpression> 
関連する問題