《用友U8开发听我说》第二讲:UAP报表显示动态列

《U8开发听我说》专栏,查看文章清单请点击

点我:《U8开发听我说》专栏发布

 

UAP报表动态列

什么是动态列呢?动态列是指在UAP报表设计时并不能得到其列的信息(包括字段名称,字段类型等信息),在组织数据源的时候将某些需要展示到报表运行时的列添加到数据源临时表中,UAP报表数据引擎在读取数据源时,如果发现有符合动态列命名规则的列在临时表中时,会按照预先设定的规则来展示在报表运行时,这种列就叫做动态列。

动态列设置规则:

由于该报表为多列头报表,因此具体规则如下:父列头<下划线>子列头,而如果是单列头的,则只需要将你需要显示的动态列动态添加到临时表最后的位置就可以了。

效果展示:图片

动态列能干啥:

  1. 根据sql组织的临时表,可以动态扩展列

  2. 支持多表头,临时表字段名格式应为【销售部_金额】、【销售部_比率】

动态列弊端:

  1. 无法单独设置动态列的格式,比如显示格式为金额千分位

  2. 输出Excel文件时,格式不能设置显示格式

  3. 动态列不能单独设置列宽(目前没有找到好的方案)

动态列UAP如何实现:

  1. 临时表先组织非动态列的列,按照正常报表设置UAP相关内容

  2. 临时表增加上动态列

  3. UAP设计器,选中这张报表,在右侧属性栏选中Report对象,然后将动态列默认显示和支持动态列设置为true

  4. 刷新报表,即可看到动态列显示图片

好了,最终的结果就是下面这张图的效果了,想怎么动态显示列就怎么显示,是不是感觉很不错。

图片

动态列后端如何实现:

动态列后端存储过程中的sql,实现方式也比较简单,将行转列实现即可,关于sql行转列可参考下文链接或者自行搜索学习下。

利用 SQL 实现行转列和列转行操作

posted @ 2023-04-02 01:00  用友U8开发者社区  阅读(311)  评论(0编辑  收藏  举报