最近在工作中,需要在datawindow中换行显示长篇文章,通过设置aotuheight并不能解决问题。设置一个固定大小的字段框倒是会自动换行,但一篇文章段落有长有短,还是无法达到效果。最后查询网上资料,最后试用记录一下比较靠谱的方案:
1.Print的这个dw放入一个字符串字段 a,每填充一行数据就insertrow(0)一下
2.window界面创建一个控件 c(Create MultilLineEdit control),这个控件会自动换行,控件宽度决定换行宽度,各人可以通过调试设置最佳宽度width,这个控件可以隐藏使用
3.打印代码中把读取到的段落文本填入到 c控件中,再通过函数读取c控件的每一行文本再填到dw的a字段中即可
以下是2阶段的代码案例
//Wf_get_text(string as_text,rf string as_return[])
//传入as_text获取拆分后的文本数组
//mle_nr2的宽度决定拆分宽度
Int li_cnt, i, li_len
String ls_line[]
mle_1.text =as_text //创建的控件mle_1,将文本填入mle_1
li_cnt = mle_1.lineCount() //获取行数
li_len = 0
For i = 1 to li_cnt
mle_1.SelectText(mle_1.Position() + li_len,0 )
ls_line[i] = mle_1.TextLine()
li_len = mle_1.LineLength()
Next
as_return =ls_line