pb中datawindow中某个字段可以根据字段内容的长度自动缩小字体并回车分多行

转自:https://bbs.csdn.net/topics/391891793

datawindow 是freeform风格的,在打印时,如果某个字段内容比较长,显示不全,希望能自动缩小字体显示并且可以自动换行,分多行显示,要怎么才能做到这一点,PB是否可以实现?请问各位大神。

可以通过程序来判断字符串的长度,然后调整字体大小,要根字段长度来做判断

欄位與detail band的Autosize Height打勾

1.在datawindow中,选中改字段,在属性font的size项中,点右侧的等号设置表达式:
如 
if ( len( lookupdisplay( kcid2 ) ) <= 20 , 60, 50 ) 
//kcid2字段是dddw样式,所以加了lookupdisplay
//注意60, 50值大小请自己调试,60相当于字体大小11

60相当于宋体9号字大小 : if ( len( lookupdisplay( spzwmc ) ) <= 3 , 60, 50 ) 



2.该字段的高度可适当调大点,如直接是edit类型,请同时在Edit属性中勾选Auto Vert Scroll

如何在DataWindow中实现列的自动折行
我们在PowerBuilder应用程序的开发过程中, 使用DataWindow时, 经常会遇
到某列的数据太长, 不能同时全部显示的情况. 若采用自动水平滚动, 操作起
来又不够简便. 下面介绍一种方法, 实现列数据多行显示, 即实现列数据的自
动折行.具体步骤如下:
1) 在DataWindow Painter中打开此DataWindow.
2) 在需设定自动折行的列上双击鼠标, 弹开此列的属性窗口.
3) 选择Position标签, 选中Autosize Height 多选框.
4) 选择Edit标签, 不选中Auto Horz Scroll多选框.
5) 单击OK按钮, 保存所做的修改.
6) 点中Detail Band (即写有Detail的灰色长带), 单击鼠标右键, 选择
Properties... 菜单项.
7) 选中Autosize Height多选框.
8) 单击OK按钮, 保存所做的修改.
9) 保存此DataWindow.
注意:
连在一起的汉字(中间没有标点或空格分隔), 系统将认为是一个单词, 不
会自动进行折行.

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值