ホーミュラーパラメータをサブレポート渡す方法【Java対応レポート・帳票ツールEspressReport】


Q) マニュアルにはクエリパラメータをサブレポートで
使用する方法が記述されていましたが、
ホーミュラーパラメータを渡すことも可能なのでしょうか?

A) 存在するAPIでサブレポートにフォーミュラパラメータを渡すことが可能です。
   APIでは、メインレポートでのフォーミュラパラメータは、
サブレポートの内部のフォーミュラパラメータと既に共有されます。
  
APIメソッド : setSubReportFormulaParameter()

例:
———————————————————
QbReport report = new QbReport(applet, “Templates/main-sub- queryparam.rpt”, new Object[]{“ARC”});
SubReportObject[] subReports = report.getSubReports();

QbReport subReport = (QbReport)subReports[0].getSubReport(report);
Vector formulaParam = subReport.getFormulaParameters();

Vector params = new Vector();
for (int i = 0; i {
Parameter param = (Parameter)formulaParam.elementAt(i);
if (!param.isShared()) params.addElement(param);
}

Parameter[] paramArray = new Parameter[params.size()];
for (int i = 0; i {
paramArray[i] = new Parameter();
paramArray[i].copy((Parameter)params.elementAt(i));
paramArray[i].setValue(new Integer(10));
}

Hashtable table = new Hashtable();
table.put(subReports[0].getFileName(), paramArray);
report.setSubReportsFormulaParameter(table);
———————————————————

※ 下記のコードも使用できます。
———————————————————
Parameter parameters=report.getAllParameters();
for(int i=0, i {
if !(parameters.get(i).parent().equals(Param.Root_REPORT))
&& (parameters.get(i). > FormulaParam())
{
Parameters.get(i).setValut(….)

}
}
———————————————————

このAPIメソッドについて、
「http://www.quadbase.com/eres/apidocs/index.html >
QbReport > setSubReportFormulaParameter()」をご参照ください。

関連するトピックス: