使用

gf_fullpage(dw_print)//直接调用即可

完整代码

https://download.csdn.net/download/weixin_31729631/12729528

效果图

具体算法如下

w_wbhs的wf_ztlines函数

参数:字体大小

mle_1.相关属性修改 = 字体大小
文本行数 = mle_1.获取输入宽中文字的行数()
return 文本行数

w_wbhs的wf_getlines函数

参数:dw,row,an

mle_1.相关属性修改 = an.文本,an.字体,an.字段宽return wf_ztlines(an.字体大小)

w_wbhs的open事件

窗口作用:设置传入报表每一行高度、以及调整字体大小

dw = 传入的datawindow
Ll_c = dw.总行数()
If dw中有autohg字段 then默认每一行的高度 = dw.detail的高度遍历a1-255获取设置了height.autosize的字段存到ls_autosize数组tag为autzt的存到ls_autozt数组For ll_i=1 to ll_c//获取ls_autosize数组中,求得最大行高ll_maxxFor an in ls_autosize文本行数 = wf_getlines(dw, ll_i, an)If  文本行数> 最大行数 then 最大行数 = 文本行数//纯数字或者英文的组合在报表中无法自动换行If 文本行数>1 then装换后文字 = 在mle_1每一行最后添加空格()Dw.设置值(ll_i,an,装换后文字)Ll_max = 最大行数 * 行高(an.字体大小)If ll_max < 默认每一行的高度 then setnull(ll_max)elseif ll_max < 255// 这里是解决行高显示不正确的bugLl_max = 255Dw.设置值(ll_i,autohg,ll_max)If ll_max is null then ll_max = 默认每一行的高度For an in ls_autozt// 获取最合适的字体大小For an.字号 to -1合适的字体大小 = 循环变量If 循环第一次运行 then 行数 = wf_getlines(dw,ll_i,an)Else行数 = wf_ztlines(合适的字体大小)新的高度= 行数* 行高(合适的字体大小)If 新的高度 < ll_max then 退出forIf 合适的字体大小 <> an.字号 then记录最合适的字体到ls_zt数组中与ls_autozt下标对应Ls_max = 0For i in ls_ztIf ls_zt[i] 不为空 then//an = ls_autozt[i]Dw.修改属性(ls_zt[i])
关闭窗口()

gf_fullpage函数,最后一页补满

Ll_c = dw.数据总行数()
openwithparm(w_wbhs, dw)//根据报表的属性设置窗口属性
Dw开启预览模式
原始报表的页数 = dw.获取总页数()
循环Dw插入空行插入一行数据后的新页数 = dw.获取总也是If 插入一行数据后的新页数 > 原始报表的页数 then退出循环
Dw.删除最后一行数据()
Dw退出预览模式

点击打印预览按钮

If dw_print.有数据 thengf_fullpage(dw_print)Openwithparm(打印预览窗口,dw_print)

datawindow自动行高、根据行高自动调整字体大小相关推荐

  1. php怎样实现表格自动缩放字体,php实现在限定区域里自动调整字体大小的类实例,字体大小实例_PHP教程...

    php实现在限定区域里自动调整字体大小的类实例,字体大小实例 本文实例讲述了php实现在限定区域里自动调整字体大小的类.分享给大家供大家参考.具体如下: 这里的php类imagefittext.cla ...

  2. android auto 字体大小,TextView自动调整字体大小

    系统SDK版本大于等于26,直接使用TextView就可以. 系统SDK版本小于26,需要使用support包,support包的版本要大于等于26.0.support包支持Android 4.0 ( ...

  3. Android TextView自动调整字体大小(官方)

    官方在 Android 8.0(API26)给TextView,新增字体大小随着控件的大小变化的特性. 如果使用 appcompat 兼容库,可以向下支持到Android 4.0(AP14). 1.自 ...

  4. ios 自动缩小字体_如何避免iOS自动调整字体大小?

    I am NOT talking about zooming the page, but rather the way MobileSafari on iOS automatically bumps ...

  5. JS根据屏幕分辨率自动调整字体大小

    window.οnlοad=font; function font(){ if (screen.width <1024) document.styleSheets[0].addRule(&quo ...

  6. CSS 行高与行对齐精解:line-height 和 vertical-align (图文)

    7.3 line-height 行高指的是文本行的基线间的距离,但是文本之间的空白距离不仅仅是行高决定的, 同时也受字号的影响. 7.3.1 语 法 line-height属性的具体定义列表如下: 语 ...

  7. CSS line-hight ,vertical-align,父元素高度以及行框,行内框的关系

    参考文章:我对CSS vertical-align的一些理解与认识(一) css行高line-height的一些深入理解及应用 大小不固定的图片.多行文字的水平垂直居中 [line-height] l ...

  8. excel表格行宽列高怎么设置_excel怎么调整列宽行高:excel中如何快速调整多行列高和行宽...

    怎样设置使EXCEL,单元格行高列高锁定,但可以改字的? 打开菜上的"工具"-"保护"-许用户编辑区域"窗口,"新建"选项,点中& ...

  9. 设置行内元素宽高和背景色后,行内元素文本不水平垂直居中解决方案

    前言 行内元素:指在同一行内不自动换行,可以和其他行内元素在同一水平的元素,不可以设置宽高. 行内元素设置宽高:行内元素想要设置宽高,需要用display:inline-block设置(详解如下表). ...

最新文章

  1. 《深入理解Android:Wi-Fi,NFC和GPS》章节连载[节选]--第二章 深入理解Netd
  2. 数据库分析函数 MySQL_MySql数据库索引分析explain函数的使用
  3. 中国移动开发者社区专访:学习Android的两大法宝
  4. IO多路复用是什么?
  5. 扩增子和宏基因组数据分析流程和可视化方案—刘永鑫(南京,2020年10月27日)
  6. linux删除0字节的文件,如何在linux中删除许多0字节的文件?
  7. 计算机培训营,计算机学院举办科创训练营第三期培训
  8. vue后台如何刷新过期的token_Vue刷新token,判断token是否过期
  9. 前端性能优化如何做到极致?
  10. ServletContextListener小小总结
  11. 概率图模型-贝叶斯网络
  12. 【印刷数字识别】基于matlab OCR识别系统【含Matlab源码 438期】
  13. 拓扑排序算法 C语言实现
  14. 《认知心理学》思维导图
  15. python文本关联分析_如何对文本内的某个词的关联词进行提取?
  16. 计算机网络的硬盘组成,网络磁盘
  17. 淘宝直通车新功能智能推广 智能推广计划设置 智能推广优化 智能推广优化原则
  18. vue树形权限菜单_基于Vue的树形菜单之两种方式实现
  19. Android直播软件开发中接入腾讯IM大概流程是怎样的
  20. 阿里研究员吴翰清:世界需要什么样的智能系统

热门文章

  1. C++ 拓扑排序(AOV网络)
  2. 关于舆情系统的“准”
  3. 搜索-Query理解(全)
  4. src中的 “/”、“./”与“../”
  5. Python3 序列解包
  6. gstreamer+qgc+aarch64
  7. 回归——一元线性回归
  8. dell笔记本如何关闭计算机更新,联想戴尔笔记本Win10如何彻底永久关闭更新?
  9. 为什么判断一个数X是不是素数时只需判断其能否在2~根号X被整除即可?
  10. 微信小程序的左右布局