zoukankan      html  css  js  c++  java
  • 2019-1-16 水晶报表自动补空行

    第一种:【详细资料】填充空白行。正常填充一个组可以,但是组行大于预设行会全部显示的。这里没有进行行的分页

    我们现在有张单据是这样的,这是我用Word做出来的 
     

    对于这种单据,我们一般采用定制纸型的方式,将执行设置为与单据规格一样的纸型 
    这里我这步就省略了。 

    构造如下数据 
     
    我们在做的时候,以"品牌"进行分组。 
    本模板中假定每组的数据不超过每张凭证的最大行数。 

    我们按正常步骤做一个按品牌进行分组的模板 
    并且设置每页显示一组 
    Groupnumber mod 1=0 

    进入节专家,在详细资料节中插入4个空节, 
     

    勾上这四节的"抑制显示" ,分别以Crystal语法写入以下公式 
    详细资料b 
    
    If onlastrecord  Then 
        If COUNT({材料采购明细.材料名称},{材料采购明细.品牌})<5 Then 
           False 
        Else 
          True 
    Else 
        COUNT({材料采购明细.材料名称},{材料采购明细.品牌})>=5  Or (Next({材料采购明细.品牌})={材料采购明细.品牌})
    
    对该节公式做一下说明 
    如果当前记录是最后一条记录 
       判断该组的条数是否>=5 如果符合,则不一致显示(也就是显示);否则,一致显示 
    如果不是最后一条记录 
      如果该组条数>=5 或者 下一条记录与本条记录是同一组的,则抑制显示 
    
    通俗点说就是这样的 
    一共有5个节,第一节有数据则填充,没数据当然就不填充了 
    然后开始判断第2个节 
    对于第2个节,如果该组的总记录条数大于>=5条,则前面的第一个节就已经填充满了,此处就不必要显示了(True) 
    同样的,如果下一个记录与本条记录的值一样的话,那么说明后面还有数据,也就不用显示了(True) 
    但是对于最后一条数据,需要特别处理 
    最后一条数据的后面就没有数据了 
    所以如果条数>=5的话,那么前一个节肯定没填充满,所以就显示该节(False) 
    否则,如果条数不足5条的话,则前面已经处理完了(在前一轮循环中),就不显示该节了(True) 
    
    详细资料c 
    
    If onlastrecord  Then 
        If COUNT({材料采购明细.材料名称},{材料采购明细.品牌})<4 Then 
           False 
        Else 
          True 
    Else 
        COUNT({材料采购明细.材料名称},{材料采购明细.品牌})>=4  Or (Next({材料采购明细.品牌})={材料采购明细.品牌})
    
    详细资料d 
    
    If onlastrecord  Then 
        If COUNT({材料采购明细.材料名称},{材料采购明细.品牌})<3 Then 
           False 
        Else 
          True 
    Else 
        COUNT({材料采购明细.材料名称},{材料采购明细.品牌})>=3  Or (Next({材料采购明细.品牌})={材料采购明细.品牌})
    
    详细资料e 
    
    If onlastrecord  Then 
        If COUNT({材料采购明细.材料名称},{材料采购明细.品牌})<2 Then 
           False 
        Else 
          True 
    Else 
        COUNT({材料采购明细.材料名称},{材料采购明细.品牌})>=2  Or (Next({材料采购明细.品牌})={材料采购明细.品牌})
    
    这个时候模板中就增加了4行 
    在每个新增节的最上面画一条横线来实现表格形式,不然就从上到下的一个大框了 
    

      


    好,看看效果 
     

    第二种:【组尾】进行填充空白行,抑制显示同理

  • 相关阅读:
    初识HTML
    django中这是登录过期时间
    linux之几个重要性能指标
    linux之查看端口占用
    python目录操作整理
    jmeter用户自定义变量的实际使用
    ubuntu安装mysql与配置外网访问
    ubuntu 16.04部署python项目(Nginx+uwsgi+django)
    selenium脚本奇怪报错
    在Ubuntu云服务上部署jenkins
  • 原文地址:https://www.cnblogs.com/liuqifeng/p/10277906.html
Copyright © 2011-2022 走看看