在 Datawindow 中,
若只选中列的 Auto Horz Scroll,键入的字符可以加到文本串中并始终维持一行,直到达到上限; 若只选中列的 Auto Vert Scroll,键入的字符可以加到文本串中并会换行,直到达到上限;
若都不选中,且高度不足以让文本多行显示的话,键入的字符只可达到控件的显示范围内的长度。
所以为实现多行显示要求:
必须不选中 Auto Horz Scroll,并且在 EditChanged 事件中自动调整列高。
建议不选中 Auto Vert Scroll,以避免打印与显示不一致的问题。
注:只有 string 型的文本才可以换行。
最终方案:
Object.DataWindow.Detail.Height.AutoSize = 'yes'
Object.
Object.
对于要实现实时的自动换行则需如下脚本:
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
================================================
数据窗口中的折行显示
数据太多时,自动换行显示,这是一个很实际的问题。有以下两种情况:
1、标题的换行显示
2、列中数据的自动换行。
上面两个问题的解决方法不同。
一、标题换行
使用‘~r~n’即可。在要换行的位置直接输入这些字母就可以了。
二、列数据折行
需要从以下3个方面进行设置:
1、将列所在节(通常是Detail节)的高度设置自动,即选中节(Band)的‘AutoHeight’属性。
2、将要自动折行的列的AutoHeight属性选中。
3、取消列的‘Auto Horz Scroll’属性。
=====================================
PB: 数据窗口自动换行
Wednesday, October 22, 2008 at 9:41 PM Posted by Xudong.Su
Labels: datawindow, pb, 自动换行
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment