最近一段时间一直在接触报表的制作,根据杰表用户手册上的例子做了一些报表,下面请看示例。有时候我们的报表需要对某一字段的数据用图示直观的表示出来,这个时候就需要用到今天所涉及到的功能。
以上图示展示的是把金额的值和数据集中最大的值做比较之后得到的比例。根据需要也可以做成在所有数据中所占比重。这些就因需求自行设计。下面我们来看下做出此效果的具体步骤。
1:首先取得一个数据集。
2:在杰表设计器中对表单进行设计。添加一列写上需要显示的名称。此处为金额比例
3:在修改的单元格内再加上一个Label
标签(Label)对象的父对象,是板(Panel),板(Panel)对象的父对象是行板(RowPanel),行板(RowPanel)的父对象是表(Table),表(Table)的父对象是页主体(PagePanel),页主体的父对象是页(Page)对象,由此可知,报表对象之间是存在层次关系的,
4:这时候就需要在Label的打印前事件(beforePrint)加上以下代码这是本例的关键。
me.width=((int)(100.0*$.金额/$.parent.金额.max()));
me.setWidth((int)(100.0 * $.数量 / $.parent.数量.max()));
此处公式是金额和最大金额相除之后的比例。
至于代码完全可以根据自己的需要设定他们的运算关系,在公式定义里杰表去除了很多语法约束,让我们完全可以灵活的操作。
me.width=100*(int)(0+$.金额)/(int)(0+$.parent.金额.sum())
这段公式表示的是金额和所有金额总和的比例。
然后保存模板就可以预览到效果了。