数据表格数据行行高自适应原理以及常见问题说明

本章主要介绍数据表格数据行的行高自适应,有设计的原理以及不同嵌套方式可能存在的问题以及对应解决方案的说明。
<0>前置名词定义
设计时高度:套打模板上对应控件的固定高度

运行时高度/输出高度:套打模板上对应控件的输出高度
剩余输出高度:当前控件位置距离可输出页面最下方边界的高度

<1>数据表格数据行行高自适应原理
数据表格的行高自适应逻辑:当输出行时,强制要求剩余输出高度大于设计时高度,否则该行无法输出,以下图为例解析,"最终剩余高度"小于"设计时高度显示控件"(等价于小于数据行的设计时高度),所以该行不输出

结论:
A、当剩余高度 < 设计时高度,无法输出
B、当剩余高度 > 设计时高度,可以输出该行。这时需要对是否换页做判断:
B-1、如果剩余高度 > 运行时高度,不需要换页,
B-2、如果剩余高度 < 运行时高度,那么需要该行需要申请换页。
最终剩余高度仅用作输出每页出现尾行(当每页出现尾行高度为0时,数据行贴下边界,如下图)


推论:
A:当一个数据表格数据行需要输出,他的输出高度≥数据行设计时高度
<2>嵌套控件
知识补充:行高自适应控件和纵向充满控件的区别
行高自适应控件:(在父容器支持调整行高的情况下)行高能够根据自己的内容调整的控件;
纵向充满控件:根据其父容器控件扩充高度的控件。
A、文本控件:
我们将文本放入数据表格数据行,放入同样的内容,文本是否会扩充数据行行高


在当前输出行没有其他单元格内容输出不完的情况下,其高度等于设计时高度,对应嵌套的文本控件即使内容输出不完也无法扩充数据行行高,调整其输出高度,所以我们称嵌套在数据表格下的文本控件仅为普通的纵向充满控件(依赖父容器调整高度,自身无法调整)
B、图片控件:


在当前输出行没有其他单元格内容输出不完的情况下,其高度等于设计时高度,但是由于图片过大,将当前行高度扩充为图片大小,也就是说图片(在父容器行高自适应下)能够针对自身的输出内容进行调整,同时调整父容器高度,图片是强制的行高自适应控件。
注意:
那么当图片比当前页面还要大,而且数据行设置了行高自适应后,会有什么效果呢?
对应会输出500页,当前图片在每一页都进行输出,同时由于
数据表格数据行行高自适应原理以及常见问题说明
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



