【PB】也谈数据窗口自动换行

在 Datawindow 中,

  • 若只选中列的 Auto Horz Scroll,键入的字符可以加到文本串中并始终维持一行,直到达到上限;
  • 若只选中列的 Auto Vert Scroll,键入的字符可以加到文本串中并会换行,直到达到上限;
  • 若都不选中,且高度不足以让文本多行显示的话,键入的字符只可达到控件的显示范围内的长度。

所以为实现多行显示要求:

必须不选中 Auto Horz Scroll,并且在 EditChanged 事件中自动调整列高。建议不选中 Auto Vert Scroll,以避免打印与显示不一致的问题。

注:只有 string 型的文本才可以换行。

最终方案:

Object.DataWindow.Detail.Height.AutoSize = 'yes'

Object.<DWObject>.Height.AutoSize = 'yes'

Object.<DWObject>.Edit.AutoVScroll = 'yes' //用于可编辑列

即可实现自动换行功能。

对于要实现实时的自动换行则需如下脚本:

event  editChanged;
/* **************************************************************************
解决自动换行时,新行不能实时显示的问题。
通过加上多个条件限制,使得 acceptText() 对有效性验证的影响最小
**************************************************************************
*/
try
    
if  Object.DataWindow.Detail.Height.AutoSize  =   " yes "   &
    and dwo.type 
=   " column "   &
    and dwo.Edit.AutoVScroll 
=   " yes "   &
    and left(dwo.coltype, 
4 =   " char "  then
        acceptText()
    end 
if
catch  (runtimeError err)
end 
try

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值