首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >五旬节报告中带有下划线的文本

问五旬节报告中带有下划线的文本
EN

Stack Overflow用户
提问于 2015-03-16 08:09:48
回答 1查看 1.2K关注 0票数 1

我有很长的字段值,其中有下划线,因此它被显示为圆点,字段值由文件名组成,其中包含下划线和逗号。

我用空格替换了下划线,并使用了Wrap属性,之后我可以看到所有的文件名,但是没有下划线。增加这个字段的宽度不是一个选项,因为它太长了。

如何在不被截断的情况下查看所有文件名?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-16 15:12:23

据我所知,五旬节报告没有包装不包含空格字符的文本,即使文本不适合文本字段。参见珠三角的jira:http://jira.pentaho.com/browse/PRD-2736

但是,也许用", "字符串替换逗号是可以接受的:

代码语言:javascript
复制
    =SUBSTITUTE(
        "long_string_number_1,long_string_number_2,long_string_number_3,one_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_long_string,long_string_number_5,long_string_number_6,";
        ",";
        ", "
    )

这可能会降低遇到不适合您的文本框的长字符串的可能性。但是,您仍然可能遇到以下情况(在这里,第二行(very_.._long_string_number_4)被截断):

另一个选项是尝试一些单空格字体,并在每个i*n字符之后插入换行符,其中n是适合您的文本框的最大字符数。

无论如何,您可能希望将文本字段的动态高度属性设置为true,这样,如果出现新行,该字段将增加其高度。

更新:按照您的要求,我详细介绍了第二个选项:我的意思是在您的换行字符中插入,以便每行都适合您的文本字段。

  1. 将文本框的字体设置为单间距,这样就会有相同数量的字符适合您的文本字段。
  2. 计算溢出字符串之前的字符数(溢出值是..。(默认情况下)。在溢出字符串中添加字符数(默认情况下为2个)。
  3. 在每个n个字符后插入一个换行符.为此,您可以将写在python/java或其他语言上的函数嵌入到报表中: 3.1。继续到珠三角右上角的data选项卡.右键单击“函数”项,在“上下文”菜单中选择“添加函数”选项。展开脚本项并选择“Bean-(BSF)”选项(如果需要,您可以选择另一种语言)。 3.2。单击您创建的函数,单击珠三角右下角的表达式编程语言值,然后选择您想要的语言(在我的示例中选择beanshell )。 3.3。单击您创建的函数,单击珠三角右下角的表达式项,然后单击.按钮。 3.4。编写代码将换行符插入到字符串中。下面是一个示例(我不是java开发人员,因此这段代码可能很难看/无效/错误): 导入"12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890";;//硬编码字符串常量作为示例数据: String inputString =java.lang.StringBuilder //如果您想从数据源//尝试下一行获得值(但没有测试):// String inputString = dataRow.get("yourColumnName");//将maxLineLength常量更改为适合您的文本的字符数//字段int maxLineLength = 23;int stringLength = inputString.length();StringBuilder sb =新StringBuilder(StringBuilder);int leftBound = 0;int rightBound = maxLineLength;while(rightBound < stringLength) { String line = inputString.substring( leftBound,rightBound);sb.append(行);sb.append("\n");leftBound= rightBound;rightBound += maxLineLength;}/追加剩余字符。sb.append(inputString.substring(leftBound,stringLength)); 3.5。将文本字段引用的字段更改为您创建的函数的名称(默认情况下类似于BSFExpression0 )。

下面是我的示例的输出:

​

​

记住用数据替换我的inputString和maxLineLength常量。并将文本字段的动态高度设置为true。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29072138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档