1.设置
具体步骤如下:
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.增加函数
global type f_newline from function_object
end type
forward prototypes
global function string f_newline (string as_string, integer ai_charnum)
end prototypes
global function string f_newline (string as_string, integer ai_charnum);//功能:将字符串转换为换行文本
//参数:as_string 待转换字符串
// ai_charnum 每行字符数
//两个英文算一个字符,一个汉字两个字符
//3.a一二三四五六七八九a一二三四五六七八九十
//2.一二三四五六七八九十
//3.ab一二三四五六七八九
string ls_doc = ""
long li_je//奇偶
long i, ll_strlen
int li_asc, li_ascnum, li_endchar=0, li_add =0
li_ascnum=0
string ls_left_str,ls_allstring
string ls_str1,ls_str2
ls_allstring=as_string//原始字串
long j,jcnt
jcnt=Ceiling(len(as_string)/ai_charnum)//分成几段,
ls_str2=""
//messagebox("分隔",string(jcnt))
for j=1 to jcnt//分成n段
li_ascnum =0
ls_left_str=left(as_string,ai_charnum)//取左边部分
//判断该串中有多少个ascii字符
for i=1 to ai_charnum
if Asc (mid(ls_left_str,i,1))<=126 then li_ascnum ++
next
//如果为奇数
li_je=mod(li_ascnum,2)
if li_je=1 then //如果为奇数,ai_charnum+1
ls_left_str=left(as_string,ai_charnum+1)
as_string=mid(as_string,ai_charnum +2,len(as_string)-ai_charnum -1)
else
ls_left_str=left(as_string,ai_charnum)
as_string=mid(as_string,ai_charnum +1,len(as_string)-ai_charnum)
end if
if len(ls_doc)<=0 then
ls_doc=ls_left_str+" "
else
ls_doc=ls_doc+ls_left_str+" "
end if
next
return ls_doc
end function
3.-----------------------------------
增加计算列 f_newline(字段,10)//10为一行想的字符过数