1

コレクションからのデータを表示するレポートを設計する必要があります(Say List)。このリストには、複数の POJO が含まれています。

POJO は、アプリケーションのデータ アクセス層によって設定されます。iReports でこの要件のレポート テンプレートを設計するにはどうすればよいですか?

4

3 に答える 3

1

Ok!答えを見つけました。手順は以下のとおりです。

  1. Bean クラスをコンパイルし、JAR ファイルを作成します。これには完全なパッケージが必要です
  2. この jar を ireports の LIB フォルダーに追加します。
  3. コレクションを生成する createBeanCollection メソッドを持つファクトリ/ラッパー クラスを作成します。
  4. このクラスの最上位パッケージを ireports のクラス パスとして使用します
  5. このクラスをメソッドで JavaBean データソースとして使用します。

これがすべて完了したら、新しいデータソースを使用してレポートを作成し、レポート クエリで Java Bean に FQN を指定して、必要なフィールドを追加します。

于 2010-06-15T10:03:43.093 に答える
1

レポートに使用JRBeanCollectionDataSourceします。

于 2010-06-15T06:38:11.457 に答える
0
BankDetailsList list = new BankDetailsList();       
ArrayList<BankDetails> lst = list.getDataBeanList();        
JRBeanCollectionDataSource beanColDataSource = new JRBeanCollectionDataSource(lst);

ここで BankDetails は POJO です

public class BankDetails {

    public String bank_name;
    public Account account;
    public String custodian_account;
    public String custodian_name;
    public String agreement_type;
    public double exposure;
    public double collateral;
    public double independant_amount;
        public double net_exposure;

    BankDetails(String b_name, Account acc, String cust_account,
        String cust_name, String agr_type, double expo, double collat,
        double independant_amt, double net_exp) {

        this.bank_name = b_name;
        this.account = acc;
        this.custodian_account = cust_account;
        this.custodian_name = cust_name;
        this.agreement_type = agr_type;
        this.exposure = expo;
        this.collateral = collat;
        this.independant_amount = independant_amt;
        this.net_exposure = net_exp;
    }

    public String getBank_name() {
        return bank_name;
    }
    public void setBank_name(String bank_name) {
        this.bank_name = bank_name;
    }
    public Account getAccount() {
        return account;
    }
    public void setAccount(Account account) {
        this.account = account;
    }
    public String getCustodian_account() {
        return custodian_account;
    }
    public void setCustodian_account(String custodian_account) {
        this.custodian_account = custodian_account;
    }
    public String getCustodian_name() {
        return custodian_name;
    }
    public void setCustodian_name(String custodian_name) {
        this.custodian_name = custodian_name;
    }
    public String getAgreement_type() {
        return agreement_type;
    }
    public void setAgreement_type(String agreement_type) {
        this.agreement_type = agreement_type;
    }
    public double getExposure() {
        return exposure;
    }
    public void setExposure(double exposure) {
        this.exposure = exposure;
    }
    public double getCollateral() {
        return collateral;
    }
    public void setCollateral(double collateral) {
        this.collateral = collateral;
    }
    public double getIndependant_amount() {
        return independant_amount;
    }
    public void setIndependant_amount(double independant_amount) {
        this.independant_amount = independant_amount;
    }
    public double getNet_exposure() {
        return net_exposure;
    }
    public void setNet_exposure(double net_exposure) {
        this.net_exposure = net_exposure;
    }
}

アカウント POJO:

public class Account {

    public int account_id;
    public String account_name;

    Account(int acc_id, String acc_name){
        this.account_id = acc_id;
        this.account_name = acc_name;
    }

    public int getAccount_id() {
        return account_id;
    }

    public void setAccount_id(int account_id) {
        this.account_id = account_id;
    }

    public String getAccount_name() {
        return account_name;
    }

    public void setAccount_name(String account_name) {
        this.account_name = account_name;
    }
}
于 2015-08-17T07:29:38.213 に答える