起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4181|回复: 22

[结贴] 通过textarea编辑的文字格式,如何在report中原样显示出来

[复制链接]

27

主题

105

帖子

277

积分

中级会员

Rank: 3Rank: 3

积分
277
QQ
发表于 2017-2-22 23:24:17 | 显示全部楼层 |阅读模式
我通过textarea编辑的文字格式,如何在report报表中展示出来,如图所示
1.png



2.png

152

主题

413

帖子

2182

积分

金牌会员

Rank: 6Rank: 6

积分
2182
QQ
发表于 2017-2-23 09:41:35 | 显示全部楼层
本帖最后由 John913 于 2017-2-23 10:05 编辑

textarea保存时是有换行符\n的,但作为文本放在td标签中显示是不会换行的,如下面的html显示是不会换行的:
<td>1.无特殊情况。
2.明天汇报。</td>
文本在html中显示还有一个问题,就是文本开头的空格也显示不了。
如果要让这个文本保持textarea中的格式,可以用textarea来显示它。也可以用js将换行符替换为<br>标签。

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2017-2-23 11:10:22 | 显示全部楼层
在java中自己遍历Table中的数据,获取自己的值在需要换行的地方加上\n
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

27

主题

105

帖子

277

积分

中级会员

Rank: 3Rank: 3

积分
277
QQ
 楼主| 发表于 2017-2-23 15:15:50 | 显示全部楼层
John913 发表于 2017-2-23 09:41
textarea保存时是有换行符\n的,但作为文本放在td标签中显示是不会换行的,如下面的html显示是不会换行的: ...

table中我查看数据并没有保存\n
回复 支持 反对

使用道具 举报

27

主题

105

帖子

277

积分

中级会员

Rank: 3Rank: 3

积分
277
QQ
 楼主| 发表于 2017-2-23 15:16:34 | 显示全部楼层
jishuang 发表于 2017-2-23 11:10
在java中自己遍历Table中的数据,获取自己的值在需要换行的地方加上\n

table中我查看数据并没有保存\n,要是有的话,在report中就该显示了呀
回复 支持 反对

使用道具 举报

152

主题

413

帖子

2182

积分

金牌会员

Rank: 6Rank: 6

积分
2182
QQ
发表于 2017-2-23 16:38:08 | 显示全部楼层
在浏览器中调试是看不到换行符的,数据库里保存了\n的。
回复 支持 反对

使用道具 举报

152

主题

413

帖子

2182

积分

金牌会员

Rank: 6Rank: 6

积分
2182
QQ
发表于 2017-2-23 17:08:02 | 显示全部楼层
本帖最后由 John913 于 2017-2-23 17:14 编辑
  1.         Model.prototype.dataTables1CellRender = function(event){
  2.                 if(event.colName==="fDescription"){
  3.                         var text = event.colVal;
  4.                         var html = "";
  5.                         for(var i=0;i<text.length;i++){
  6.                                 var c = text.charAt(i);
  7.                                 if(c===" "){
  8.                                         html = html+"&nbsp;";
  9.                                 }else if(c==="\n"){
  10.                                         html = html+"<br>";
  11.                                 }else{
  12.                                         html = html+c;
  13.                                 }
  14.                         }
  15.                         event.html = html;
  16.                 }
  17.         };
复制代码

这是一个例子,用textarea输入文本的字段是fDescription,写DataTables组件或Grid组件的CellRender事件处理程序。上面代码已测试。




回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2017-2-23 17:36:28 | 显示全部楼层
lnddwy 发表于 2017-2-23 15:16
table中我查看数据并没有保存\n,要是有的话,在report中就该显示了呀

就是需要自己对table中的数据处理加上\n进行换行的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

27

主题

105

帖子

277

积分

中级会员

Rank: 3Rank: 3

积分
277
QQ
 楼主| 发表于 2017-2-23 22:54:01 | 显示全部楼层
John913 发表于 2017-2-23 17:08
这是一个例子,用textarea输入文本的字段是fDescription,写DataTables组件或Grid组件的CellRender事件处 ...

是不是report组件不识别呀,不好使
回复 支持 反对

使用道具 举报

27

主题

105

帖子

277

积分

中级会员

Rank: 3Rank: 3

积分
277
QQ
 楼主| 发表于 2017-2-23 23:00:04 | 显示全部楼层
jishuang 发表于 2017-2-23 17:36
就是需要自己对table中的数据处理加上\n进行换行的

是不是report组件不识别呀,不好使
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-29 08:33 , Processed in 0.059639 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表