【问题标题】:How to seperate prefix from a dynamic text before printing in BIRT如何在 BIRT 中打印之前将前缀与动态文本分开
【发布时间】:2018-11-17 05:11:36
【问题描述】:

我想在报告中作为动态文本打印的名称在数据库中采用加密格式。我在此动态文本字段的 onCreate 中借助以下脚本解密此名称。

this.text=Packages.com.erp.util.EncryptUtil.decrypt(name);

现在的问题是,此名称带有前缀 Mr、Ms 等与某些报告中的名称连接,这会影响名称解密,我希望仅使用名称进行解密。在查询中分离前缀和名称会干扰绑定并导致其他一些错误。所以我想要做的是检查任何空格或拆分的名称,以便我可以在第一个空格之后识别任何即将出现的名称和空格之前的前缀。然后我想将该名称单独发送到decypt 方法,并在返回解密名称时应使用某些脚本与前缀连接并在动态文本字段中打印。如何在 BIRT Report Designer 版本中实现这一点:3.7.1.v2

【问题讨论】:

    标签: eclipse birt


    【解决方案1】:

    来自DataSet 将名称属性拖放到报告中的某处并使其不可见。转到该名称属性的onRender,该属性可从 BIRT 的脚本选项卡中获得,然后粘贴以下代码以将前缀与名称分开,并将名称单独发送到您的方法。

    name = this.getValue();
    var sArr  = name.split(" ");
    name="";
    for(var i=1;i<sArr.length;i++){
    if(sArr[i]!=null)
    name = name+" "+sArr[i];
    }
    name = name.replace(/^[ ]+|[ ]+$/g,'')
    name=sArr[0]+" "+Packages.com.yourpackagename.yourmethodname(name);
    

    现在将动态文本从调色板拖放到您想要查看名称的位置。转到脚本选项卡中可用的动态文本字段的onCreate 并粘贴以下代码以打印从您的方法返回的结果以及前缀。

    this.text=name;
    

    【讨论】:

      猜你喜欢
      • 2021-05-02
      • 2019-07-07
      • 2023-03-23
      • 2016-04-15
      • 1970-01-01
      • 2015-02-03
      • 1970-01-01
      • 1970-01-01
      • 2016-09-26
      相关资源
      最近更新 更多