经过测试万能报表的自动换行处理,
是倒序查找,
当自动换行超过一行字串时,
是会优先查找数字后面的空格,
其次是“-”字符,也就是我们常用日期中的分割符,
会按照倒序查找 数字后面的空格或者 “-”进行自动折行处理。
测试过程:
使用了一张单据的“备注”字段做了测试,
这张单据我们选用的是【销售订单】,
【销售订单】的单据头“备注”字段,
拖入报表Detail明细带区,
设计了一张万能报表模板,
修改“套打设置”,选择“使用标准报表模板打印”,“对应标准报表模板”关联设置的报表模板。
实际运行时,
测试字串:
2017-05-03金蝶国际软件集团有限公司(“金蝶国际”或“金蝶”)始创于1993 年,是香港联交所主板上市公司(股票代码:0268),总部位于中国深圳。以“致良知、走正道、行王道”为核心价值观,金蝶致力成为最值得信赖的大数据服务公司,已为世界范围内超过600万家企业、政府等公共组织,提供管理软件产品、云服务及互联网金融等服务,用户数超过6000万。
复制代码
预览的效果:
通过测试效果可以看到,
倒序查找,超过1行字串时,1993数字后面是有空格的,1993后面出现了自动折行,
之后又查找到超过1行字串时 找到“-”,又自动做了折行,
并且更大的问题是字串的后面是显示不全的。
那么针对此种问题是否有解决办法呢?
答案当然是有的,
因为使用万能报表控件,本身是有相当强的脚本支持的,
具体的脚本编写过程,
选中绑定“备注”字段的报表模板中的控件,
字段属性中 找到“脚本”,
选到“在打印前”事件,
选择“新建”,
之后会弹出脚本编辑界面,
保存后,我们再来看下效果,
截图中我们已经看到,文本超过1行的自动折行已经显示正常了,字串信息也完全都显示全了。
附上有用的2行脚本,
//替换文本中的空格及字符"-"
XRLabel bindLabel = sender as XRLabel;
bindLabel.Text = bindLabel.Text.Replace(" ","").Replace("-","/");
复制代码
如果万能报表要增加打印时间,是否也可以通过脚本来实现,该如何写呢?
报表中有个“页信息”控件,点控件上面的小箭头,“页面信息”属性,选择“Current Date and Time”。
推荐阅读