发布时间 : 2018-11-12 10:26:57.000|阅读 533 次
概述:此示例项目显示如何为报表呈现事件添加和使用处理程序。
相关链接:
此示例项目显示如何为报表呈现事件添加和使用处理程序。
首先,创建JFrame并设置必要的选项。
public static void main(final String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { try { JFrame frame = new JFrame(); frame.add(new RenderProcess(frame)); frame.setSize(FRAME_SIZE); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } catch (Throwable e) { StiExceptionProvider.show(e, null); } } }); }
例如,我们使用SimpleList报表。加载此报表模板并将Demo数据库添加到报表对象。
final StiReport report = StiSerializeManager.deserializeReport(new File("Reports", "SimpleList.mrt")); StiXmlDatabase xmlDatabase = new StiXmlDatabase("Demo", "Data/" + "Demo.xsd", "Data/" + "Demo.xml"); report.getDictionary().getDatabases().add(xmlDatabase);
为了演示报表呈现时事件的调用顺序,我们将添加几个处理程序。每个处理程序将在应用程序表单的文本区域中添加文本。
report.handlerBeginRender.add(new StiEventHandlerListener() { public void invoke(StiEventObject myEvent) { appendText(beginRender); } }); report.handlerRendering.add(new StiEventHandlerListener() { public void invoke(StiEventObject myEvent) { appendText(subProcessField1); } }); report.handlerRendering.add(new StiEventHandlerListener() { public void invoke(StiEventObject myEvent) { appendText(subProcessField2); } }); report.getPages().get(0).handlerBeginRender.add(new StiEventHandlerListener() { public void invoke(StiEventObject myEvent) { appendText(subProcessField3); } }); report.getPages().get(0).handlerEndRender.add(new StiEventHandlerListener() { public void invoke(StiEventObject myEvent) { appendText(subProcessField4); } }); report.handlerEndRender.add(new StiEventHandlerListener() { public void invoke(StiEventObject myEvent) { appendText(finishField); } });
示例代码的结果如下图所示:
购买Stimulsoft正版授权,请点击“咨询在线客服”哟!