public void actionprint_actionperformed(actionevent e) throws exception { // super.actionprint_actionperformed(e); if (editdata.getid() != null) { string id = editdata.getid().tostring(); dataprovider data = new dataprovider(id); kdnotehelper apphlp = new kdnotehelper(); apphlp.print("bim/custom/classmanage/reportclass/reportdaxiaoban", data, javax.swing.swingutilities.getwindowancestor(this)); } else { msgbox.showwarning("请先保存单据,再点打印!"); }
public class dataprovider implements bosquerydelegate { private static final logger logger = coreuiobject .getlogger(abstractfrozendaxiaobaneditui.class); private string billid; public dataprovider(string billid) { this.billid = billid; } public irowset execute(bosquerydatasource ds) { // irowset rs = null; // try { iqueryexecutor iqec = null; filterinfo filterinfo = new filterinfo(); entityviewinfo viewinfo = new entityviewinfo(); if (ds.getid().equals("billquery")) { iqec = queryexecutorfactory.getremoteinstance(new metadatapk( "com.kingdee.eas.custom.test.app", "billquery")); filterinfo.getfilteritems().add( new filteriteminfo("id", this.billid, comparetype.equals)); viewinfo.setfilter(filterinfo); iqec.setobjectview(viewinfo); iqec.option().isautotranslateboolean = true; iqec.option().isautotranslateenum = true; // rs = iqec.executequery(); }else if (ds.getid().equals("entry2query")) { iqec = queryexecutorfactory.getremoteinstance(new metadatapk( "com.kingdee.eas.custom.test.app", "entry2query")); filterinfo.getfilteritems().add( new filteriteminfo("parentid", this.billid, comparetype.equals)); viewinfo.setfilter(filterinfo); iqec.setobjectview(viewinfo); iqec.option().isautotranslateboolean = true; iqec.option().isautotranslateenum = true; // rs = iqec.executequery(); } else if (ds.getid().equals("entryquery")) { iqec = queryexecutorfactory.getremoteinstance(new metadatapk( "com.kingdee.eas.custom.test.app", "entryquery")); filterinfo.getfilteritems().add( new filteriteminfo("parentid", this.billid, comparetype.equals)); viewinfo.setfilter(filterinfo); iqec.setobjectview(viewinfo); iqec.option().isautotranslateboolean = true; iqec.option().isautotranslateenum = true; // rs = iqec.executequery(); } else { logger.info("==============其他执行,ds.getid()====" + ds.getid()); } } catch (exception ex) { ex.printstacktrace(); } int rowcount = rs.size(); logger.info("rs.size====" + rowcount); return rs; }}
注:parentid是新建query中的字段名称,可做相应的修改。