- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 新人教部编版小学二年级上册数学全册课时练习题.pdf
- 统编版语文四年级上册习作:写观察日记《绿豆芽生长记》(课件).pptx
- 英威腾 Goodrive300_01A_EH系列高速电机专用变频器说明书_V1.0.pdf
- 西师大版数学四年级上册全册表格式教案.pdf VIP
- 第18章 电功率难 难题练习 2021年初中物理培优(重点高中自主招生 竞赛).docx
- 《流行声乐演唱》课件——2“会听、会唱、会分析”.pptx VIP
- 公安局报警定位系统方案.pdf VIP
- 《铁路基桩检测管理信息系统数据接口暂行规定》(附条文及目录).pdf
- QB_T 2584-2023轻工标准 淋浴房.pdf
- 水轮发电机组发电机检修规程.doc
文档评论(0)