解决birt分组后,excel类型文件会多一行空白行的问题

    原创!转载请注明地址 http://ycde2009.iteye.com/blog/2185160

    通过birt下载含有分组的报表后,会发现,在分组字段的后面会多出一行空白行,看上去很丑,在查阅很多资料后,才有现在的解决方法。
    那就是把分组的那一行去掉,将分组的字段融合进详情那一行。通过脚本判断,当前这一行的分组的数据是否等于上一行的数据。等于的话就隐藏当前的单元格。
    举个例子吧!比如我这有一张报表,按照订单号分组显示。
    1、不做任何分组操作,直接在 initialize 事件中中定义两个变量:
        var showOrderOrPay  = "1";
        var tempOrderNO  = "";
    2、再到Detail row这一行的 onCreate 事件中写如下代码:
        if(tempOrderNO != this.getRowData().getExpressionValue("row[ORDER_NO]")){
          tempOrderNO = this.getRowData().getExpressionValue("row[ORDER_NO]");
          showOrderOrPay = "1";
        }else{
          showOrderOrPay = "0";
        }
    3、再到订单号那一个单元格(cell)的 onCreate 事件中下如下代码:
        // 不显示订单号
        if(showOrderOrPay == "0"){
          this.getStyle().display ="none";

          //this.setDisplayValue("0");  // 还可以设置该单元格的值
        }

    通过这三步,就模拟实现了分组后,不显示空白那一行了。

 

你可能感兴趣的:(birt)