换行"/>
Smartforms 单元格内换行
在做smartform打印的时候,经常会需要文本根据输入换行显示
一般情况下是直接用动态文本,或者长文本去做
但是如果客户的输入不是长文本,就会涉及到一个转换的问题了
首先用换行符 CL_ABAP_CHAR_UTILITIES=>CR_LF 将需要展示的内容拼接
LOOP AT LT_VBRP INTO LS_VBRP.IF SY-TABIX = 1.LS_ITEM-MAKTX = LS_VBRP-ARKTX .ELSE.CONCATENATE LS_ITEM-MAKTX CL_ABAP_CHAR_UTILITIES=>CR_LF LS_VBRP-ARKTX INTO LS_ITEM-MAKTX.ENDIF.ENDLOOP.
然后在smartform 内 加一段逻辑去处理
DATA:
lt_stram_lines TYPE STANDARD TABLE OF string,
ls_string TYPE string,
lt_text TYPE tline_t.CLEAR gt_text.ls_string = ls_item-maktx.
APPEND ls_string TO lt_stram_lines.CALL FUNCTION 'CONVERT_STREAM_TO_ITF_TEXT'
EXPORTING
stream_lines = lt_stram_lines
lf = 'X'
TABLES
itf_text = gt_text.
展示details 结果如下
有朋友可能会疑惑如何去设置这个动态文本的字体大小及间距
其实是在style里面的 标准段落去决定的
使用TABLE控件的时候,自动换行,可能会出现,一行内容过多,自动换到了下一页
可以通过 TBALE-->Details --> No page break 控制内容过多不分页
更多推荐
Smartforms 单元格内换行
发布评论