Hi<br />
<br />
I met one problem which puzzle me.I user birt 2.5.1.<br />
I added a handle class for script data set in rptdesign file.<br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.eclipse.birt.report.engine.api.script.IReportContext;
import org.eclipse.birt.report.engine.api.script.IUpdatableDataSetRow;
import org.eclipse.birt.report.engine.api.script.ScriptException;
import org.eclipse.birt.report.engine.api.script.eventadapter.ScriptedDataSetEventAdapter;
import org.eclipse.birt.report.engine.api.script.instance.IDataSetInstance;
public class FetchDataListHandle extends ScriptedDataSetEventAdapter {
Map<String, Object> reportMap;
List <RateReport> rateReportList;
public void beforeOpen(IDataSetInstance idatasetinstance, IReportContext ireportcontext)throws ScriptException{
System.out.println("1 beforeOpen!");
reportMap = (HashMap<String, Object>) ireportcontext.getAppContext().get("map");
if(reportMap!=null){
rateReportList = (List<RateReport>) reportMap.get("rateReportList");
}
System.out.println("rateReport size :"+rateReportList.size());
}
@Override
public void afterClose(IReportContext ireportcontext) throws ScriptException{
reportMap = null;
ireportcontext.getAppContext().clear();
}
@Override
public boolean fetch(IDataSetInstance dataSet, IUpdatableDataSetRow row) throws ScriptException {
// TODO Auto-generated method stub
System.out.println("fetch method!!");
return false;
}
}
</pre>
<br />
When run this report system print result is :<br />
<br />
1 beforeOpen!<br />
rateReport size :380<br />
fetch method!!<br />
1 beforeOpen!<br />
rateReport size :380<br />
fetch method!!<br />
1 beforeOpen!<br />
rateReport size :380<br />
fetch method!!<br />
1 beforeOpen!<br />
rateReport size :380<br />
fetch method!!<br />
<br />
<br />
Could anyone helps me??How to resolve it? :wacko: