kingdee BOS 开发套打相关

来源:互联网 发布:网络模块是什么 编辑:程序博客网 时间:2024/06/05 05:48

单个非query数据源或多个数据源:

 public void actionTDPrintPreview_actionPerformed(ActionEvent e) throws Exception {
  checkSelected();
  List idList = getSelectedIdValues();
  PrjMultiDataSourceDataProviderProxy data = new PrjMultiDataSourceDataProviderProxy();
  BOSQueryDelegate data1=new TestDataPrinter(idList);
  data.put("TestDataPrinter", data1);
  KDNoteHelper appHlp = new KDNoteHelper();
  appHlp.printPreview(FILENAME_PATH, data, this);
 }

 

public class PrjMultiDataSourceDataProviderProxy implements BOSQueryDelegate {
 private HashMap hm; 
 public PrjMultiDataSourceDataProviderProxy()
    {
        hm = new HashMap();
    }
    public IRowSet execute(BOSQueryDataSource ds)
    {
        String dsId = ds.getID();
        if(hm.keySet().size() == 0)
            return null;
        BOSQueryDelegate bosQueryDelegate = (BOSQueryDelegate)hm.get(dsId);
        if(bosQueryDelegate == null)
        {
            bosQueryDelegate = (BOSQueryDelegate)hm.get("MainQuery");
            if(bosQueryDelegate == null)
                return null;
        }
        return bosQueryDelegate.execute(ds);
    }
    public void put(String id, BOSQueryDelegate ds)
    {
        hm.put(id, ds);
    }
    public Object get(String id)
    {
        return hm.get(id);
    }
}

 

非query数据源类的:

public class TestDataPrinter implements BOSQueryDelegate {

 private String[] colName={"lastDate","ourContact","phone","fax","startYear","startMonth","startDay","number"}

 public IRowSet execute(BOSQueryDataSource arg0) {
  IRowSet rs = null;
  rs = TDHelper.creatColHead(colName, rs); //这个工具类要自己写,不是框架中的
  ...

  for(int i=0;i<coll.size();i++){
       rs.moveToInsertRow();

         ...

         rs.insertRow();

   }

   rs.beforeFirst();

   return rs;

  }


 

单个用query的数据源:

 public void actionTDPrintPreview_actionPerformed(ActionEvent e)
   throws Exception {
  ArrayList idList = getSelectedIdValues();
  if (idList == null || idList.size() == 0) {
   MsgBox.showInfo("请选择行!");
   SysUtil.abort();
  }
  BOSQueryDelegate  eachPartData = new CommonDataProvider(idList, getTDQuery()); 
  KDNoteHelper appHlp = new KDNoteHelper();
  appHlp.printPreview(FILEPATH_NAME, eachPartData, this);
 }

 

原创粉丝点击