对记录做横向分栏

news2025/2/4 3:58:32

【问题】

Hi i have a single list of employees. Each employee will have his name and salary.

i have given the list of employees to a table but it appears as follows

Employee Name     Salary
harish          3000
kiran           4000
Emili           6000
harsha          7000
vardhana         8000
siri           9000

i mean each employee details appears in a single row . but i want them to appear side by side on the same page as shown below.

EmployeeName1    Salary1     EmployeeName2     Salary2
harish        3000       kiran            4000
Emili         6000       harsha           7000
vardhana      8000       siri             9000

----- 技术支持给的解法:代码实现

on table one filtering, the following code is written

pageBreakInterval = 21;
blockNumber = Math.floor(row.__rownum / pageBreakInterval) + 1;
totalColumns = 3;
columnNumber = 1;
((blockNumber - columnNumber) >= 0)&& (((blockNumber - columnNumber) % totalColumns)== 0)
on table-2 filter the following code is written
pageBreakInterval = 21;
blockNumber = Math.floor(row.__rownum / pageBreakInterval) + 1;
totalColumns = 3;
columnNumber = 2;
((blockNumber - columnNumber) >= 0)&& (((blockNumber - columnNumber) % totalColumns)== 0)
on table-3 filter the following code is written
pageBreakInterval = 21;
blockNumber = Math.floor(row.__rownum / pageBreakInterval) + 1;
totalColumns = 3;
columnNumber = 3;
((blockNumber - columnNumber) >= 0)&& (((blockNumber - columnNumber) % totalColumns)== 0)

hi with the above code in 3 table filters i guess the first table will be filled with first 21 records and the next 21 records will be filled in the second table and the next to next 21 records will be filled in the third table. Is this right?

【回答】

BIRT 分栏打印的功能,具体在 master page 标签页的 columns 属性,可以试一下。如果这种方法无效,则可以用集算器准备好已分栏后的数据:将源数据每 24 行(一页纸的高度)分为一组,拼成 4 列的新数据集(每页 2 组)。然后作为不分栏的表呈现即可,可以通用地解决这个问题。SPL 代码如下:

A
1=myDB1.query("select EmployeeName,Salary from sorder")
2=create(${Col.((t=~,A1.fname().(~+string(t)))).conj().concat@c()})
3>Row.run(A2.record(A1.m(to(Col*(~-1)+1,Col*~)).conj(~.array())))

Row 是每页行数,Col 是分栏数,都是报表参数,可以将任意表进行分栏(将 Col 固定为 2 即是你的要求)。

A1:查询 sorder 表

A2:生成分栏表结构

A3:使用 run 函数为分栏后的表填入数据

BIRT 可通过 JDBC 访问集算器,可以像数据库一样使用,参考Java 如何调用 SPL 脚本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/103582.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Jenkins(2)— 配置webhook触发器

1、webhook介绍 Gitee WebHook触发器 的功能是帮助用户 push 代码后,自动回调一个您设定的 http 地址。例如我们可以通过添加webhook触发器来实现这样一个功能: 每当开发push代码到提测分支后,自动触发jenkins构建,运行自动化测…

闲暇之际敲敲代码,记录Leetcode刷题03

文章目录前言一、删除链表中的节点1.1 问题描述1.2 思路分析二、反转链表2.1 问题描述2.2 思路分析前言 利用闲暇之际敲敲代码,提升编程技能及提高算法能力。 一、删除链表中的节点 1.1 问题描述 有一个单链表的 head,我们想删除它其中的一个节点 no…

Tensorflow基础入门超全总结

1.1 TensorFlow介绍 深度学习框架TensorFlow一经发布,就受到了广泛的关注,并在计算机视觉、音频处理、推荐系统和自然语言处理等场景下都被大面积推广使用,现在已发布2.3.0版本,接下来我们深入浅出的介绍Tensorflow的相关应用。 …

记录一个阿里云Android端文件上传的BUG

背景 Android移动端需要接入阿里云视频点播模块下的一个客户端上传的SDK。需要将移动端本地文件上传至阿里云服务器。 问题描述 调用方法及业务逻辑不赘述,贴张官方图,选择了上传地址和凭证的方法进行上传,并且是后台集成点播服务端SDK并调用…

关于哈希表

package com.javase.map.hashmap;import java.util.HashMap; import java.util.Map; import java.util.Set;/*** 关于HashMap:* 1.HashMap集合的底层是哈希表/散列表的数据结构。* 2.哈希表是数组和单向链表的结合体,充分发挥了它们各自的优点。…

【机器学习】三种主要集成学习思想简介

集成学习 集成学习通过训练多个分类器,然后将其组合起来,从而达到更好的预测性能,提高分类器的泛化能力。 目前集成学习有3个主要框架:bagging、boosting、stacking。 bagging套袋法 bagging是并行集成学习方法的最著名代表,其算法过程如下: 从原始样本集中抽取训练…

【云原生进阶之容器】第一章Docker核心技术1.8节——DockerFile解析

1 Dockfile详解 1.1 什么是Dockerfile 首先通过一张图来了解 Docker 镜像、容器和 Dockerfile 三者之间的关系。 通过上图可以看出使用 Dockerfile 定义镜像,运行镜像启动容器。 Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文…

技术分享 | 黑盒测试方法论—场景法

场景法就是模拟用户操作软件时的场景,主要用于测试系统的业务流程。 测试不能只关注某个控件的边界值、等价类是否满足要求,也要关注它的主要功能和业务流程是否正确实现,这时就需要使用场景法来完成。 场景法 用例场景是用来描述流经用例路…

OpenHarmony 物联网设备开发环境搭建

前言 我们介绍的是华为官方推荐的 Windows + Ubuntu 混合开发的环境,使用Windows平台的DevEco Device Tool 进行可视化界面进行相关操作,通过远程连接的方式对接Ubuntu下的DevEco Device Tool,然后对Ubuntu下的源码进行开发、编译、烧录等操作。 目前官方不支持Mac系统,所…

【docker】什么是容器数据卷?

docker的理念回顾 将应用和环境打包成一个镜像! 数据?如果数据都在容器中,那么我们容器删除,数据就会丢失!需求:数据可以持久化 MySQL,容器删了,删库跑路!需求&#x…

测试工具平台 MeterSphere 分享

一、官网地址 meterSphere 二、安装方式 Linux安装 默认账号密码: URL: http://$LOCAL_IP:8081用户名: admin初始密码: metersphere三、nginx配置 直接上配置 location / {proxy_pass http://localhost:8081;client_max_body_size 1000m;#access_log off;# 配…

SPDK代码结构浅析

最近这三周时间一直因为工作的需要在研究SPDK移植到RISCV平台上,在编译通过的时候,也顺带把SPDK的代码粗粗过了一遍,顺便做了一点笔记。 SPDK (Storage Performance Development Kit)其实就是在用户空间,采用轮询的方式无锁的NVM…

通达信下单接口获取指数成份股的步骤分享

通达信下单接口获取指数成份股的步骤分享: ContextInfo.get_sector() 接口:https://gitee.com/metatradeapi 用法: ContextInfo.get_sector(sector, realtime) 释义: 获取板块成份股,只支持取指数成份股 参数&…

DOM学习笔记(坚持~~~~)

1.DOM简介 1.1什么是DOM 文档对象模型简称DOM,W3C组织推荐的处理可扩展标记语言的标准编程接口,通过这些DOM接口可以改变网页的内容,结构和样式。 1.2 DOM树 文档:一个页面就是一个文档,DOM中使用document表示 元素&…

Python+Qt身体特征识别人数统计源码窗体程序

程序示例精选 PythonQt身体特征识别人数统计 如需安装运行环境或远程调试,见文章底部微信名片,由专业技术人员远程协助! 前言 这篇博客针对《PPythonQt身体特征识别人数统计》编写代码,功能包括了相片,摄像头身体识别…

Javaweb中的Request(请求)和Response(响应)

目录 一、概念 二、请求(Request) 1.例子简介 2.Request继承体系 3.Request获取请求数据 (1)请求行 (2)请求头 (3)请求体 4.优化请求体参数的获取 5.解决请求参数乱码问…

POSIX Timer

一、特点: 1、使用 POSIX Timer,一个进程可以创建任意多个 Timer。 2、setitmer 计时器时间到达时,可以有多种通知方式,比如信号,或者启动线程。 3、POSIX Timer 则可以使用实时信号。 4、POSIX Timer 是针对有实时要…

leetcode98. 验证二叉搜索树关于递归实现中遇到的global和nonlocal(各种报错分析)

leetcode98. 验证二叉搜索树 题目 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。 节点的右子树只包含 大于 当前节点的数。 所有左子树和右子树自身必须也是二…

前端基础(十三)_定位position、定位层级z-index

一、定位position Css的定位机制:普通文档流、浮动、定位 这里主要介绍CSS的定位属性:position: 1、定位原理:允许元素相对于正常位置、或者相对于父元素、浏览器窗口本上的位置 2、元素位置的调整: left|right属性、…

Spring Boot项目使用RabbitMQ队列

Spring Boot项目使用RabbitMQ队列 一、Rabbitmq的安装 RabbitMQ是一个开源的遵循 AMQP协议实现的基于 Erlang语言编写,**即需要先安装部署Erlang环境再安装RabbitMQ环境。 erlang的安装在windows中直接点击安装即可。 安装完erlang后设置erlang的环境变量ERLANG…