0

私が持っているのはこれですString [125, 154, 749, 215, 785, 1556, 3214, 7985] (文字列には1から15のIDを含めることができ、リストではなく文字列である理由は、URLを介して送信されるためです)

campusAndFacultyそれと呼ばれるリストを作成する必要があります

iReport 5.0.0 を使用しています

これをcampusAndFacultyデフォルト値の式フィールドに入力してみました

Array.asList(($P{campusAndFacultyString}.substring( 1, ($P{campusAndFacultyString}.length() -2 ))).split("\\s*,\\s*"))

campusAndFacultyしかし、リストには入力されません

List campusAndFacultyそれを使用してデータを入力する方法はありString ("campusAndFacultyString")ますか?

====================== 更新

iReport (5.0.0) にこれらの変数があります

String campusAndFacultyFromBack = "[111, 125, 126, 4587, 1235, 1259]"

String noBrackets = $P{campusAndFacultyFromBack}.substring(1 ($P{campusAndFacultyFromBack}.length() -1 ))

List campusAndFacultyVar = java.util.Arrays.asList(($V{noBrackets}).split("\\s*,\\s*"))

canvasAndFacultyVar を印刷すると、「[111, 125, 126, 4587, 1235, 1259]」が返されます

しかし、フィルターで使用すると、「次の式を評価できません: org_organisation.org_be_id in null」が表示されます

4

1 に答える 1

0

これは私のために働く:

String something = "[125, 154, 749, 215, 785, 1556, 3214, 7985]";
Arrays.asList((something.substring(1, (something.length() -1 ))).split("\\s*,\\s*"));

つまり、 iReportでこれを行うことができます:

java.util.Arrays.asList(($P{campusAndFacultyString}.substring(1, (something.length() -1 ))).split("\\s*,\\s*"));

スニペットとの違い:

  • 配列ではなく配列です
  • 長さから2ではなく1を取るべきです
  • Arrays クラスへの完全修飾参照 (iReport の構成方法に応じて重要な場合とそうでない場合があります)
于 2013-08-13T11:50:46.510 に答える