我有一个RCP应用程序,并且运行良好...直到现在。
我必须升级一些读取和写入xlsm和xlsx文件的模块,所以我要升级poi。
但是它破坏了我的JasperReport报告,该版本非常旧,为2.0.3,所以我也尝试将其升级到6.1.0,其中包含我需要的poi版本。
但是我无法使其在viewpart中工作。
使用jasperreports2.0.3,现在的样子
“导出/另存为”按钮不起作用,出现以下错误:
net.sf.jasperreports.engine.JRPrintHyperlink.getHyperlinkType()
谷歌搜索,我得到了升级和使用JRViewer的提示。
我尝试遵循以下问题:how to print jasper report in Eclipse RCP using its print option?,但没有成功。
有人可以给我一些线索吗?
答案 0 :(得分:0)
我明白了! ... 修改了CreatePartControl ...
@classmethod
}
我从其他View传递JasperPrint对象,所以我创建了一个void方法...
public void createPartControl(Composite parent) {
Composite container = new Composite(parent, SWT.NONE);
container.setLayout(new FillLayout(SWT.HORIZONTAL));
//viewerComposite = new ViewerComposite(container,SWT.BORDER);
//viewerComposite.setLayoutData(new GridData(GridData.FILL,GridData.FILL,true,true));
//desde aca
//add the SWT_AWT compposite for SWING contents of GUI
final Composite swtAwtComposite = new Composite(container, SWT.EMBEDDED);
swtAwtComposite.setBounds(10, 0, 767, 600);
Frame frame = SWT_AWT.new_Frame(swtAwtComposite);
Panel panel = new Panel();
frame.add(panel);
panel.setLayout(new BorderLayout(0, 0));
JRootPane rootPane = new JRootPane();
rootPane.setSize(767, 600);
panel.add(rootPane);
//Define a container yourself
c = rootPane.getContentPane();
super.setPartName("Reportes");
}
像魅力一样工作!
新外观! 但这有效!
最好的问候