birt报表单元格内的动态数据自动换行

当我们把从数据源取得的数据填充到表格的单元格中去时,往往数据长度会超出单元格范围。

而在birt中没有简单的自动换行机制,我们必须手工添加代码来完成这一动作:

首先选中需要根据数据长度自动换行的单元格,然后在其"properties"->"advanced"->"onrender"中写入代码:

if(this.getValue()!=null){var v = this.getValue();v = v.toString();var temp="";var all="";var flag=0;for(var i=1;i<=v.length();i++){if(i%12 == 0 ){temp += v.substring(flag,i-1)+"\n";flag=i-1;}else{all = temp+ v.substring(flag,v.length());}}this.setDisplayValue(all);}

注:由于只能写成一行,所以这里我就不排版了,其中"i%12"中的12是表明每12个字符换一行。

posted on 2012-02-24 15:28  摩羯的小石头  阅读(2677)  评论(0编辑  收藏  举报