Eden.Sun 发表于 2022-10-29 19:51:04

ActiveReportsJS实现表格动态列展示

本帖最后由 Eden.Sun 于 2022-10-29 20:48 编辑

    今天我们介绍在报表预览时,控制报表数据列的展示。

    实现原理:通过在表格头上设置隐藏表达式,判断参数中是否含有要展示的数据列。从而达到动态隐藏的效果。
   
    话不多说,我们马上开始本次的内容!
   
   
    首先我们打开设计器创建数据源(附件中的data.json)、数据集($.):
   
   


    完成了准备工作,我们就可开始制作我们的报表了:
    ① 首先是设计我们的表格:
   
   
    ② 添加参数,参数值就是我们的表格的“列头”名称,我们就是通过这个参数的值来控制表格列的显示的,所以这一步一定要注意
    参数设置和可用数据:
   
    默认值(这里设置的是表格的所有数据列,也就是默认全部显示)
   


    ③ 然后对选中表格中的某一列(选中整列,并不是单元格)
   
   
    ④ 已上图为例,添加隐藏表达式:{Not Join(@p1, ",").Contains("订购日期")};

   参数说明:通过Join表达式将参数p1的值使用“,”拼接成字符串,当字符串中包含“订购日期时”,返回true,反之则返false,饭后对结果去非(也
            就是相反的结果,true->false, false->true)
   
   


    ⑤ 一次类推,为后面的字段也设置隐藏表达式,注意要修改Contain中的字段名称,如下:
   


    ⑥ 至此,我们就完成了动态列的控制设计,下面看我们的效果:
   

页: [1]
查看完整版本: ActiveReportsJS实现表格动态列展示