基于EAS报表框架的开发文档.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于报表框架的开发文档 报表框架做了大部分非具体业务的工作,如打印/临时表/虚模式/数据显示/动态表头等, 使在其基础上的开发效率更高.(如简单的HelloReport例子总开发时间为1~2小时)。 例子路径:com.kingdee.eas.framework.report.sample.client.HelloReportUI。 BOS设计 主页面继承CommRptBaseUI.ui 条件查询页面继承CommRptBaseConditionUI.ui 功能对象继承 CommRptBase.facade 编写代码 UI类实现abstract方法 session bean 根据需要重载父类方法 代码流程 1--用户点击菜单进入 2--客户端准备初始数据getParamsForInit(),如果返回null, 转入第4步 3--服务端取初始数据init,参数为上一步getParamsForInit()返回值 4--客户端条件查询设置setCustomCondition,参数为上一步init返回值 5--用户点击确定查询 6--调用客户端主界面query方法,查询条件在属性params里,该params是条件界面getCustomCondition()返回的. 详解 具体使用请参考HelloReportUI例子. 是否使用虚模式/临时表, 没有强制要求. 数据处理,KDTableUtil类辅助把RptRowSet数据显示在KDTable中, 并提供了用户修改/计算数据处理的接口: public static void insertRows(RptRowSet rs,int insertRowIndex,KDTable table,KDTableInsertHandler handler) 接口KDTableInsertHandler public void setTableRowData(IRow row,Object[] rowData); 系统使用缺省的DefaultKDTableInsertHandler . 可自定义处理类, 可作处理有: 1)单元格数据 row.getCell(i).setValue(rowData[i]); 2)行背景颜色 row.getStyleAttributes().setBackground(#Color); 3)行对象 row.setUserObject(#row_object) 等等. 单元格显示格式, KDTable本身的单元格格式外,还可以使用自定义格式: 使用方法: 设置表头格式(非动态表头,可以在客户端直接对table column进行设置) col=new RptTableColumn(fdc); col.setWidth(80); col.setAligment(RptTableColumn.HALIGN_CENTER); col.setFormatPattern(@=1?借:贷);//自定义显示格式 header.addColumn(col); 效果, 自行显示 再如: col.setFormatPattern(@=1001?现金$_日出东方-唯我不败:$_);//自定义显示格式 自定义格式规则 @see RptCellFormatter 一、三元表达式 1)以@开头; 2)忽略首尾空格; 3)目前只支持?号表达式,不支持嵌套; 4)表达式中$_表示需要格式化的变量,只在?号后面有效. 5)比较值无须考虑类型,将自行根据需要格式化的变量类型转换进行比较. 二、自定义函数 @f(bean_full_path#method,param1,param2...) 本类提供了缺省数字格式化, getNumberFormat(int precision,boolean emptyWithZero). 用户可实现自定义格式. 提供了默认的精度显示格式: //获取进度为3的格式化字符 //true: 表为0时显示为空 String format=RptCellFormatter.getNumberFormat(3,true); $RptTableColumn.setFormatPattern(format); 动态表头的处理例子 可自动融合表头 表头行数没限制,只要数组二维长度与列数量相等就可以了. header.setLabels(new Object[][]{ {融合块,融合块,融合块,测试,测试}, {科目编码,科目名称,级别,方向,是否现金流量}},true); 打印 com.kingdee.eas.fram

文档评论(0)

136****5687 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档