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中的字段名称,可做相应的修改。