如何动态改变报表的行高列宽

报表应用中有时需要动态控制行高或列宽以满足特定需要。如分组报表中要求每个分组的总高度 / 宽度固定不变,这样一来就能实现每页纸打印相同数量的分组。

润乾报表可以在行高列宽属性中编写表达式,从而实现动态行高列宽,下面通过一个例子说明使用过程。

1、连接数据源

使用润乾报表设计器,连接自带数据源 DEMO

2、设置数据集

新建报表并设置数据集,使用 SQL 取数

数据集 ds1 如下:

SELECT STATE,EID,NAME,SURNAME,GENDER,DEPT,SALARY FROM EMPLOYEE

3、编辑报表单元格表达式

在报表模板中编写报表表达式

至此,报表使用固定行高的显示效果如下:

4、设置动态行高

由于分组行高与每个分组数量直接相关,因此在第 2 行的高度属性中写入表达式:40/ds1.count(STATE==A2),如下图:

其中 ds1.count(STATE==A2) 计算当前组的行数(成员数量)。

设置动态高度后,报表预览效果如下:

可以看到每个分组的总高度固定,但其中各项明细的行高度会根据成员数量动态改变。

上面的例子对行高进行了动态控制,而在润乾报表中行列是对称的,所以通过类似的方式可以设置动态列宽。总之,润乾报表中几乎所有的单元格属性都可以通过编写表达式进行动态控制。

原文地址:https://www.cnblogs.com/xiaohuihui-11/p/12041825.html

时间: 2024-10-17 01:57:30

如何动态改变报表的行高列宽的相关文章

Excel快速删除空白行与调整行高列宽的方法,学会了很实用

Excel表格作为大家经常使用的办公文档,在使用的过程中我们也会遇到各种问题,比如常见的行高列宽的调整.空白行的删除的等等.今天小编就为大家带来了Excel快速删除空白行与行高列宽的方法,希望可以帮助到大家. 一:调整行高列宽 作为Excel表格最常见的问题之一,我们在办公中常用到的调整行高列宽的方法主要有两种,都非常的简单方便. 方法1: 第一种方法也是最简单的一种方法,把鼠标光标放置在行高或者是列宽线条上时,就会出现一个[黑色双箭头]的标志,点击即可拉动线条调整行高.列宽.(唯一的弊端是行高

datagridview 行高列宽的自动设置

1) 设定行高和列宽自动调整 [C#]// 设定包括Header和所有单元格的列宽自动调整 DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; // 设定包括Header和所有单元格的行高自动调整 DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; AutoSizeColumnsMode 属性的设定值枚

QuickReport根据每行的内容长度动态调整DetailBand1的行高

procedure TPosPubFactureRep.DetailBand1BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean); var n, total : integer; str : String; begin total := 1; str := ADOArticle.FieldByName('my_data').AsString; Repeat n := Pos(#13, str); if n>0 then begin

js实现动态删除表格的行或者列-------Day57

昨天记录了动态加入表格的一行,当然这个一行是指一行数据,也就是说一行多少列也是加上的,而且第几列的内容都能够加入上,先来回想下它的实现的关键点: 1.var row=table.insertRow();加入一行: 2.var cell1=row.insertCell();加入一个单元格:(假设在后面继续写var cell2=row.insertCell()的话.就是加入第二列;) 3.cell1.innerHTML="第一列的内容":向第一个单元格中填充值 以上就是昨天记录的动态加入一

C#动态操作DataTable(新增行、列、查询行、列等)

方法一:动态创建一个DataTable ,并为其添加数据 public void CreateTable()        {            //创建表            DataTable dt = new DataTable();                        //1.添加列            dt.Columns.Add("Name", typeof(string)); //数据类型为 文本 //2.通过列架构添加列            Data

iOS 动态计算行高,宽等

UILabel有两个计算文字大小的方法: 1.针对对富文本计算NSAttributedString - (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(nullable NSDictionary*)attributes context:(nullable NSStringDrawingContext *)context NS_AVAILABLE(10_11,

SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段

一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:使用拼接SQL,静态列字段: 方法二:使用拼接SQL,动态列字段: 方法三:使用PIVOT关系运算符,静态列字段: 方法四:使用PIVOT关系运算符,动态列字段: 扩展阅读一:参数化表名.分组列.行转列字段.字段值: 扩展阅读二:在前面的基础上加入条件过滤: 参考文献(References) 二.背景(Contexts) 其实行转列并不是一个什么新鲜的

SQL Server 动态行转列(轉載)

一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:使用拼接SQL,静态列字段; 方法二:使用拼接SQL,动态列字段; 方法三:使用PIVOT关系运算符,静态列字段; 方法四:使用PIVOT关系运算符,动态列字段; 二.背景(Contexts) 其实行转列并不是一个什么新鲜的话题了,甚至已经被大家说到烂了,网上的很多例子多多少少都有些问题,所以我希望能让大家快速的看到执行的效果,所以在动态列的基础上再把

浏览器兼容的实现table中通过拖拽改变列宽的最佳实践

在企业级应用中,表格是非常常见的展现方式,这时当列数据较长时,一种比较自然,体验也较好的处理方式就是通过拖拽改变列宽,这个功能在一些重量级JS组件库中都有提供,实现原理各有不同,但是一个共同点就是实现比较复杂,那我们通过很少的代码,常规的table结构,能实现这个功能么?本文将提供一个经过实际验证的实践,供开发者参考,扩展思路. 总体思路: 1.HTML结构: 为了简化代码,采用标准的HTML结构,即table-tr-td模式,无其他限制,在我们的实际应用中,表格非常复杂,但是核心技术没有变: