最近一段時間一直在接觸報表的制作,根據杰表用戶手冊上的例子做了一些報表,下面請看示例。有時候我們的報表需要對某一字段的數據用圖示直觀的表示出來,這個時候就需要用到今天所涉及到的功能。
以上圖示展示的是把金額的值和數據集中最大的值做比較之后得到的比例。根據需要也可以做成在所有數據中所占比重。這些就因需求自行設計。下面我們來看下做出此效果的具體步驟。
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())
這段公式表示的是金額和所有金額總和的比例。
然后保存模板就可以預覽到效果了。