最近一段時(shí)間一直在接觸報(bào)表的制作,根據(jù)杰表用戶手冊(cè)上的例子做了一些報(bào)表,下面請(qǐng)看示例。有時(shí)候我們的報(bào)表需要對(duì)某一字段的數(shù)據(jù)用圖示直觀的表示出來(lái),這個(gè)時(shí)候就需要用到今天所涉及到的功能。
以上圖示展示的是把金額的值和數(shù)據(jù)集中最大的值做比較之后得到的比例。根據(jù)需要也可以做成在所有數(shù)據(jù)中所占比重。這些就因需求自行設(shè)計(jì)。下面我們來(lái)看下做出此效果的具體步驟。
1:首先取得一個(gè)數(shù)據(jù)集。
2:在杰表設(shè)計(jì)器中對(duì)表單進(jìn)行設(shè)計(jì)。添加一列寫上需要顯示的名稱。此處為金額比例

3:在修改的單元格內(nèi)再加上一個(gè)Label

標(biāo)簽(Label)對(duì)象的父對(duì)象,是板(Panel),板(Panel)對(duì)象的父對(duì)象是行板(RowPanel),行板(RowPanel)的父對(duì)象是表(Table),表(Table)的父對(duì)象是頁(yè)主體(PagePanel),頁(yè)主體的父對(duì)象是頁(yè)(Page)對(duì)象,由此可知,報(bào)表對(duì)象之間是存在層次關(guān)系的,
4:這時(shí)候就需要在Label的打印前事件(beforePrint)加上以下代碼這是本例的關(guān)鍵。
me.width=((int)(100.0*$.金額/$.parent.金額.max()));
me.setWidth((int)(100.0 * $.數(shù)量 / $.parent.數(shù)量.max()));
此處公式是金額和最大金額相除之后的比例。
至于代碼完全可以根據(jù)自己的需要設(shè)定他們的運(yùn)算關(guān)系,在公式定義里杰表去除了很多語(yǔ)法約束,讓我們完全可以靈活的操作。
me.width=100*(int)(0+$.金額)/(int)(0+$.parent.金額.sum())
這段公式表示的是金額和所有金額總和的比例。
然后保存模板就可以預(yù)覽到效果了。