标准报表文档2016-1-8.doc_第1页
标准报表文档2016-1-8.doc_第2页
标准报表文档2016-1-8.doc_第3页
标准报表文档2016-1-8.doc_第4页
标准报表文档2016-1-8.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

标准报表文档1、首先新建两个用户界面,过滤界面(filterUI)、报表主界面(mainUI)和功能facade;(1)、filterUI在新建的时候要继承父类: com.kingdee.eas.framework.report.client.CommRptBaseConditionUI(2)、mainUI在新建的时候要继承父类: com.kingdee.eas.framework.report.client.CommRptBaseUI(3) 、新建一个Facade,方便我们后面处理后台事务,继承父类: com.kingdee.eas.framework.report.app.CommRptBase并且在该功能中添加2个方法:A.createTempTable(RptParams params)B.query(RptParams params, int from, int len) 发布生成相应的类:filterUI.java,mainUI.java,FacadeControllerBean.java2、在filterUI过滤界面中需要注意的方法 /* * 设置过滤条条件到FilterUI界面控件, 需要解析过滤条件组装 */public void setFilterInfo(FilterInfo filterInfo) super.setFilterInfo(filterInfo); /* * 参数设置 */Overridepublic void setParam(Object condition) super.setParam(condition);/*初始化参数*/public void onInit(RptParams arg0) throws Exception /* *设置解决方案控件保存 */public void setCustomCondition(RptParams arg0) kDBizPromptBox1.setValue(paramRptParams.getObject(deptObject);kDDatePicker1.setValue(paramRptParams.getObject(startDate);/* * 获得页面参数 * 注意:存入的值必须是object对象。 */public RptParams getCustomCondition() RptParams rptParams = new RptParams(); rptParams.setObject(deptObject,this.kDBizPromptBox1.getValue();rptParams.setObject(startDate,this.kDDatePicker1.getValue();return rptParams;(3)、mainUI界面必须实现的方法 public MaterialsClassRptUI() throws Exception super(); /实函数 this.kDTable1.checkParsed();this.kDTable1.getDataRequestManager().addDataRequestListener(KDTDataRequestListener) this);this.kDTable1.getDataRequestManager().setDataRequestMode(KDTDataRequestManager.REAL_MODE); enableExportExcel(this.kDTable1); KDTSortManager manager = new KDTSortManager(this.kDTable1); manager.setSortAuto(true); kDTable1.setEditable(false); /*获取过滤界面存入的值*/ protected RptParams getParamsForInit() return null;/*设置弹出过滤界面*/protected MaterialsClassRptFilterUIgetQueryDialogUserPanel() throws Exception return new MaterialsClassRptFilterUI();/*设置加载到功能界面中*/Overrideprotected ICommRptBase getRemoteInstance() throws BOSException return RptMaterialClassFacadeFactory.getRemoteInstance();/* * 处理打印表格 */protected KDTable getTableForPrintSetting() return this.kDTable1;/* * 获取过滤界面参数 */public void tableDataRequest(KDTDataRequestEvent e) int from = e.getFirstRow();int len = (e.getLastRow() - from) + 1;RptParams pp = new RptParams();RptParams rpt;/存放处理后的数据String deptids = ;String matids = ;try if (from = 0) String temp =getTempTable();pp.setString(tempTable, temp); /获取过滤界面的参数值 SimpleDateFormat simp = new SimpleDateFormat(yyyy-MM-dd);if(UIRuleUtil.isNotNull(params.getObject(deptObject)pp.setObject(deptObject,params.getObject(deptObject); Object deptid =params.getObject(deptObject);/部门处理AdminOrgUnitInfo orgInfo =new AdminOrgUnitInfo();Object deptObj = null;if(deptid instanceof AdminOrgUnitInfo)deptObj = new Object0;deptObj0=deptid;elsedeptObj=(Object) (Object) deptid;if(deptObj!=null&deptObj0!=null) for(int i = 0; i deptObj.length; i+) orgInfo=(AdminOrgUnitInfo) deptObji; deptids+= , +orgInfo.getId().toString()+; if(!deptids.equals() deptids = deptids.replaceFirst(, ); pp.setString(deptObject,deptids);if(UIRuleUtil.isNotNull(params.getObject(startDate)strStartDate = simp.format(params.getObject(startDate);pp.setString(startDate,strStartDate );/调入后台的方法 rpt = this.getRemoteInstance().createTempTable(pp); setTempTable(rpt.getString(tempTable); RptTableHeader header = (RptTableHeader) rpt.getObject(header); KDTableUtil.setHeader(header, kDTable1); kDTable1.setRowCount(rpt.getInt(verticalCount);pp.setString(tempTable, getTempTable();rpt = this.getRemoteInstance().query(pp, from,len);RptRowSet rs = (RptRowSet) rpt.getObject(rowset);KDTableUtil.insertRows(rs, 0, kDTable1); catch (Exception e1) e1.printStackTrace(); Overrideprotected void query() kDTable1.removeColumns();kDTable1.removeRows();(4)ControllerBean中实现创建功能的两个方法 protected RptParams _createTempTable(Context ctx, RptParams rptParams) throws BOSException /删除临时表 dropTempTable(rptParams.getString(tempTable), ctx); /获取临时表 String tempTable =getTempTableName(获取临时表名称, ctx); /获取过滤参数值 String deptstr = rptParams.getString(deptObject); String startstr = rptParams.getString(startDate); /将满足条件查询出来的数据创建成一张临时表 StringBuilder sqlstr = new StringBuilder(); sqlstr.append( /*dialect*/ create table +tempTable+ as select fname fname from T_IM_MaterialReqBill ”); /执行sql创建临时表 DbUtil.execute(ctx, sqlstr.toString(); String countSql = select count(1) cc from +tempTable;RptRowSet rs = executeQuery(countSql, null, ctx);rs.next(); int count = rs.getInt(0);RptParams result = new RptParams(); /构建的临时表名 放入 报表参数对象 result.setString(tempTable, tempTable); RptTableHeader header = new RptTableHeader(); /如果列(设置列,如果有多个,可以循环设置) RptTableColumn col = null; col = new RptTableColumn(fname); col.setWidth(130); col.setAligment(0); header.addColumn(col); /表头显示可以构造成一个数组 Object obj=new Object“部门” header.setLabels(new Object obj, false); result.setObject(header, header); result.setInt(verticalCount, count);return result; protected RptParams _query(Context ctx, RptParams rptParams, int from,int leng) throws BOSExc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论