• Birt报表分组格式调整


    1、以如下SQL语句来说明,查找未完成打分的人员,有cname(测评人名字),uname(测评人单位),bname(被测评人名字),flag字段(未完成标志)

    SELECT var.cname,var.uname,var.bname,var.flag FROM
    (SELECT DISTINCT(ur.id),ur.c_person,ur.b_person,c_person.name AS cname,u.name AS uname,b_person.name AS bname,CASE WHEN grade.`userrelation` IS NULL THEN 'no' ELSE 'yes' END AS flag FROM trainspringmvc.userrelation AS ur
    LEFT JOIN trainspringmvc.person AS c_person ON c_person.id=ur.c_person
    LEFT JOIN trainspringmvc.person AS b_person ON b_person.id=ur.b_person
    LEFT JOIN trainspringmvc.grade AS grade ON grade.`userrelation`=ur.id
    LEFT JOIN trainspringmvc.unit AS u ON u.id=c_person.unit
    LEFT JOIN trainspringmvc.depart AS d ON d.id=c_person.depart
    ORDER BY ur.c_person ASC,flag ASC
    ) AS var WHERE var.flag='no' ORDER BY var.uname ASC, var.cname ASC

    2、直接把数据拖到报表里的结果为如图下所示

    此时可以看到李磊还未给孙立刚、李磊两人完成测评,此刻想要把第一列的两个李磊合并、第2列的两个物探事业部合并,那么就得按照cname,cunit两字段来分组

    3、分组操作如下所示

    (1)鼠标移到table上,点击table

    (2)单击右键-》点击Insert Group,来到如下界面

    选择红框标注的字段,我们选择cname字段作为分组,然后点击OK,然后又操作依次选择uname,uname分组在cname的下面,这样就可按照

    cname uname字段分组

    4、设置完分组之后后台的界面如下

    可看到图中的cname、uname都已经分组了

    前台显示的页面如下,显然必须经过一番调整

    5、拖动相关属性,去掉相关行,然后得到的结果如下图所示

    从结果可看出,李磊只显示一个,物探事业部也只显示一个,但是位置都岔开了,必须做出调整

    6、调整显示的位置

    (1)选中cname所在的单元格,可以这样来选中,点击Outline->点击Body->点击Table->点击Groups->点击Table Group - NewTableGroup1->点击Header->点击Row->点击Cell,这样就选中了cname所在的单元格,不然的话用鼠标在页面去点击,好像不太好选中

    (2)选中之后,点击Property Editor - Cell-》点击Advanced->点击Cell->点击Drop->选择Drop属性为All

    (3)对uname所在的单元格也按照6(1)->6(2)的步骤处理

    步骤处理可如下图所示

    调整完成以后再看页面的展示效果如下图所示,效果比前面没调整Drop属性之前好看多了吧

    7、但是还是不太好看,应该把李磊、物探事业部都垂直居中,那样会更好

    (1)、选中cname所在的单元格-》点击Property Editor -Cell-》点击Advanced->点击Cell->点击Text->点击Vertical alignment-》把属性设置为Middle

    (2)、把uname也按照cname的设置方法设置垂直居中

    过程如下图所示

    这样设置之后显示的效果如下图所示,很明显李磊、物探事业部都已经居中了

    8、接下来再加上边框是不是更好看一点

    下面的步骤有问题,应该是先建Style,然后通过下面的步骤可以编辑Style,可以把Style 应用到Table中

    (1)、点击table->点击右键-》鼠标移到Style->鼠标移到Edit Style-》鼠标移到New Style-》点击New Style

    (2)、点击border->把Style的Top、Bottom、Left、Right都设置为Solid->把Width的Top、Bottom、Left、Right都设置为1

    步骤如下图所示

    处理之后看到的页面如下图所示,还是有点问题,比如孙立刚上面多了一条线,如何去掉这一根多余的线的

    9、选中bname上面的单元格-》点击Property Editor - Cell ->点击Advanced-》Cell-》点击Box-》点击Border bottom width->把属性设置为0pt,同样对flag本身单元格做这样的操作便可(请注意我在实践的时候是flag单元格本身,而不是其上面的单元格,并且是把Border top width属性设置为0pt,觉得有点奇怪),操作步骤可如下图所示

    按照如上操作之后出现的界面如下,显然可以看出更整齐,更美观了。

  • 相关阅读:
    数据绑定表达式语法(Eval,Bind区别)
    使用博客园的第一件事 自定义主题
    sql2000 跨服务器复制表数据
    使用UpdatePanel 局部刷新出现中文乱码的解决方法!!
    MMC不能打开文件MSC文件
    sql 日期 、时间相关
    loaded AS2 swf call function in AS3 holder
    Rewrite the master page form action attribute in asp.net 2.0
    100万个不重复的8位的随机数
    flash 中实现斜切变型
  • 原文地址:https://www.cnblogs.com/oymx/p/birt.html
Copyright © 2020-2023  润新知