More Related Content
Similar to 杰表.2008布局模型设计 (16)
杰表.2008布局模型设计
- 2. 组件 @ 合计 @ 金额 @ 单价 @ 数量 @ 产品 @ 客户号 @ 类别号 @ 总序号 合计 金额 单价 数量 产品 客户号 类别号 总序号 数据库 4 11 13 oracle 台式机 4 9 12 笔记本 4 8 11 ibm 电脑配件 3 10 10 台式机 3 9 9 笔记本 3 8 8 ms 国外客户 面包 2 7 7 花生 2 6 6 巧克力 2 5 5 家乐福 牛奶 1 4 4 棕子 1 3 3 黄酒 1 2 2 色拉油 1 1 1 乐购 国内客户 合计 金额 单价 数量 产品 客户号 类别号 总序号
- 3. 简单列表 总计 总分 姓名 学号 总计 @ 总分 @ 姓名 @ 学号 总分 姓名 学号
- 4. 分组报表 总计 合计 高二 合计 高一 总分 姓名 学号 班级 总计 合计 @ 班级 总分 姓名 学号 班级
- 5. 双表连接 * 金额 单价 备件数量 备件名称 备件号 序号 索赔备件 * 工时名称 工时代码 序号 索赔维修项 * 金额 单价 备件数量 备件名称 备件号 序号 索赔备件 * 工时名称 工时代码 序号 索赔维修项
- 6. 固定格式表 0.00 0.00 0.00 0.00 五、净利润 028 减:其他 027 加:其他 026 减:所得税 025 0.00 0.00 四、利润总额 024 加:以前年度损益调整 023 其他 022 减:营业外支出 021 其他 020 营业外收入 019 补贴收入 018 加:投资收益 017 0.00 0.00 三、营业利润 016 其他 015 财务费用 014 减:管理费用 013 加:其他业务利润 012 0.00 0.00 二、销售利润 011 减:其他 010 加:其他 009 销售税金及附加 008 销售费用 007 减:销售成本 006 0.00 0.00 销售收入净额 005 减:销售折扣与折让 004 一、销售收入 003 键 ( 虚拟列 ) 本年累计数 本月数 002 001 本年累计数 本月数 科目 行次
- 7. 交叉报表 欧洲 北美 东南亚 小计 台湾 澳门 香港 大陆 大中华区 小计 电脑配件 笔记本 台式机 小计 2006 2005 按类别 应收款 年份 1 4 1 3 1 2 4 1 3 1 2 1 1 1 小区 大区 小区 大区 2006 2005 小区 大区 应收款 小区 大区 电脑配件 笔记本 台式机 小计 @ 电脑配件 @ 笔记本 @ 台式机 @ 应收款 @ 销售额 @ 小区 @ 大区 小计 电脑配件 笔记本 台式机 小计 @ 年份-> 按类别 应收款 年份
- 15. 堆叠交叉 销售额(地区,客户,年,季) 销售额(地区,客户,年,*) 销售额(地区,*,年,季) 销售额(地区,*,年,*) 销售额(产品,年,季) 销售额(产品,年,*) = 销售额 = 销售额 产品 = 销售额 = 销售额 合计 = 销售额 = 销售额 = 客户 = 地区 合计 = 季度 = 年度
- 17. 合集数据引用 ( 一 ) 规则一:是先定位列 , 后定位行 =销售{年,季}{地区,客户} =应收款 {地区,客户} 列定位 行定位 列定位 行定位 静态列时定位 动态列时定位 = 应收款 { 地区 , 客户 }.sum() = 销售 { 年 , 季 }{ 地区 , 客户 }.sum() = 销售 { 年 , 季 }{ 地区 , 客户 }.sum() 合计 = 应收款 { 地区 , 客户 } = 销售 { 年 , 季 }{ 地区 , 客户 }.sum() = 销售 { 年 , 季 }{ 地区 , 客户 } = 客户 = 地区 合计 = 季 应收款 = 年
- 18. 合集数据引用 ( 二 ) 规则二:行或列满键时,可以省去 =销售 // 等价,列键,行键均满 =应收款.sum() // 等价 = 应收款 { 地区 , 客户 }.sum() = 销售 { 年 , 季 }{ 地区 , 客户 }.sum() = 销售 { 年 , 季 }{ 地区 , 客户 }.sum() 合计 = 应收款 { 地区 , 客户 } = 销售 { 年 , 季 }{ 地区 , 客户 }.sum() = 销售 { 年 , 季 }{ 地区 , 客户 } = 客户 = 地区 合计 = 季 应收款 = 年
- 19. 合集数据引用 ( 三 ) 规则二:引用上级,可特指行列键 =销售 / 销售{年}{地区,客户} // 等价,意即本季与本年合计所占比重 = 应收款 .sum() = 销售 .sum() = 销售 .sum() 合计 = 应收款 = 销售 .sum() = 销售 / 销售 { 年 } = 客户 = 地区 合计 = 季 应收款 = 年
- 20. 合集数据引用 ( 四 ) this =销售{年,*} <=> =销售{年} =销售{NEXT.年,*} <=> =销售{NEXT.年} =销售{*,*} <=> =销售{*} =销售{PREV.年,*} <=> =销售{PREV.年} =销售{年,PREV.季} =销售{年,NEXT.季} =销售{PREV.年,季} // 去年同期 =销售{NEXT.年,季} // 下年同季 * * * 1994 * 1993 * 1992 2 1994 1 1994 4 1993 3 1993 2 1993 1 1993 3 1992 2 1992 1 1992
- 22. 合集上下文 = 年 季 应收款余额 <=> = 应收款余额 = 年 应收款余额 <=> = 年 应收款余额 =*应收款余额 = 年 地区 城市 销售 = 年 地区 销售 =*销售 = 销售
- 24. 合集上下文 有游标的情况下 , 年度 =1991, 季度 =1 @ 销售额 季度 销售额 年度 季度 销售额 上述等价 年度 [.=1991]季度 [1] 销售额 年度 [postion()-1]@ 销售额 .sum() 上一年度销售额总计 年度 [postion()-1]季度 [.=ANY] 销售额 .sum() 等价 年度[postion()-1]度[.=@季度]销售额.sum() 去年同季销售额 年度 [postion()-1]季度 [].=] 季度 销售额 1991 年 1 季度销售额 年度 @ 销售额 .sum() 1991 的销售额总计
- 26. 合集数据引用公式 =销售{年,月}{地区,客户} // 等价 =应收款{地区,客户} // 等价 =销售{年,月}{地区,客户}.sum() // 等价 以下二个公式等价 =销售{年}{地区,客户}.sum() =销售{年}.sum() = 应收款 .sum() = 销售 .sum() = 销售 .sum() 合计 = 应收款 = 销售 .sum() = 销售 = 客户 = 地区 合计 = 季 应收款 = 年
- 27. 从表模板扩展 A 表A打印后,模板被横向扩展 规则: 同列,同宽的表被扩展 = 销售额 = 销售额 = 销售额 = 销售额 = 销售额 = 销售额 = 销售额 = 销售额 = 销售额 产品 = 销售额 = 销售额 = 销售额 = 销售额 = 销售额 = 销售额 = 销售额 = 销售额 = 销售额 合计 = 销售额 = 销售额 = 销售额 = 销售额 = 销售额 = 销售额 = 销售额 = 销售额 = 销售额 = 客户 = 地区 合计 四季度 三季度 二季度 一季度 合计 四季度 二季度 一季度 2000 2000 = 销售额 = 销售额 产品 = 销售额 = 销售额 合计 = 销售额 = 销售额 = 客户 = 地区 合计 = 季度 = 年度
- 28. 纵向扩展 ( 打印扩展 ) A 表B随表A向下打印 规则: 同行,同高的表被打印 打印扩展不扩展模板 B = 销售额 = 销售额 产品 = 销售额 = 销售额 合计 = 销售额 = 销售额 = 客户 = 地区 合计 = 季度 = 年度 6 1 2 3 8 2 6 合计 1 1 3 3 杭州华信科技 1 1 2 2 南京巨人系统公司 4 2 2 3 2 1 上海光明软件公司 华东 合计 四季度 三季度 二季度 一季度 合计 四季度 二季度 一季度 2000 2000
- 32. 同期比 ( 普通列表中 ) 报表数据/年度销售表 Row 38 160 1994 2 122 1993 20 120 1992 - 100 1991 与去年增加 销售额 年 160 1994 122 1993 120 1992 100 1991 销售额 年 =PRE. 销售额 - 销售额 = 销售额 = 年度 与去年增加 销售额 年
- 34. 同期比 ( 交叉报表中 ) 合计 = 销售 .sum()- 销售 {PRE. 年 }.sum() = 地区表 . 客户 = 地区表 . 地区 合计 比上年增长 = 季 = 年
- 36. 两类特殊变量 (ValueAlways,ValueIfClosed) 节点变量(NodeVariable) 在任何时候,不管是否收尾都返回value() 要取得节点变量本身,须调用NameSpace.getLocalVariable(String) 节点字段(NodeField) 只有在收尾时,返回为value(),在其他时候,返回本身 节点变量,实现 ValueAnyway 表示在任何时候,都返回value() 节点字段,实现 ValueIfClosed 表示在收尾时,才返回取值
- 38. 占比 ( 普通列表中 ) = 销售额 / 销售额 .sum() = 销售额 = 年度 与去年增加 销售额 年
- 39. 占比 ( 交叉报表中 ) 合计 = 销售 .sum()/ 销售 { 年 }.sum() = 地区表 . 客户 = 地区表 . 地区 合计 占全年比 = 季 = 年
- 40. Table 对象 1. table布局只在 paint()时发生 2. table children 布局 由 gridLayout 进行布局 3. table list中的list,由顶层对象布局,借助cell信息 Component[] cellstore Component[] liststore Vector getChildren() √ √ √ √ 深层列表 √ √ 插入列 √ √ 插入列 √ √ 删除行 √ √ 插入行 √ 撤销合并单元格 √ 合并单元格 顶层列表 单元格对象 操作
- 41. PowerTable 对象 1. table布局只在 paint()时发生 2. table children 布局 由 gridLayout 进行布局 3. table list中的list,由顶层对象布局,借助cell信息 Component[] cellstore Component[] liststore Vector getChildren() √ √ √ √ 深层列表 √ √ 插入列 √ √ 插入列 √ √ 删除行 √ √ 插入行 √ 撤销合并单元格 √ 合并单元格 顶层列表 单元格对象 操作
- 45. - - ColumnPanel - - RowPanel TableView TableLayout Table CompoundView FreeLayout Panel PageView PageLayout Page View 布局 组件名称
- 46. 单元格变宽处理 size-mode: fixed | auto auto: 自动可包含内容的最小宽度 fixed: 固定,超出部分截掉 表格打印中,auto组件,将判断实际高度,使其满足其最小需要 fixed组件,则按实际行高列宽分配 对于跨行单元格超出部分,按算法给出
- 47. 单元格分页处理 size-mode: fixed | auto auto: 自动可包含内容的最小宽度 fixed: 固定,超出部分截掉 表格打印中,auto组件,将判断实际高度,使其满足其最小需要 fixed组件,则按实际行高列宽分配 对于跨行单元格超出部分,按算法给出
- 48. 杰表2008功能列表 2. 静态表格,类似excel,支持excel行列引用及计算,支持自定义行列索引 3.支持jdbc,bean,csv数据源 4.支持外部xml数据源 5.支持多层不平衡交叉表 6.支持套打 7.支持超链接,文本,图片,统计图 8.支持tooltip,对文本,图片,统计图 9.支持表格固定行列标题 10.支持表格分组缩放, 11.支持统计图,flash,gif,png,等输出格式 12.支持参数查询表单生成,支持文本,日期,下拉,列表,等 13.支持填报,使用插件方式
- 49. 杰表2008工作单 1. 功能完善 2. 文档(使用说明,flash使用说明,flash白皮书,功能对比) 3. 广告 4. 招聘,招代理 $model.sort_asc(“/root/demos/Row”,”姓名”); $model.sort_desc(“/root/demos/Row,”姓名.sum()”); =!{/root/demos/Row}.sort_asc(“姓名”); =!{/root/demos/地区}.sort_desc(“销售额.sum()”);