【问题标题】:Display String Tokens显示字符串标记
【发布时间】:2009-08-16 13:38:06
【问题描述】:

我有由$$ 分隔的字符串标记,这些标记是由逗号进一步分隔的详细信息列表(例如Peter Adams,255 Jhonson Street, NY,74322 $$ Mary Luther,54 Eglinton Ave.,Mississauga,ON L5A1W6

我想通过以下方式显示在上面

Name : Peter Adams
Addr :255 Jhonson Street
City : NY
Pincode :74322

Name : Mary Luther
Addr :54 Eglinton Ave.
City :Mississauga
Pincode :ON L5A1W6

在 BIRT 输出中

我尝试过使用以下代码

var myexp =/[$$]/;
var match = myexp.exec(dataSetRow["SDR"]);
if(match !=null)
{
array=dataSetRow["SDR"].split("$$");
//dataSetRow["SDR"] ="x";
var string=null;
for(var i=0; i<array.length; i++)
{
string+=array[i]+"\n\n";

}
dataSetRow["SDR"]=string.substring(4,string.length);
}
else
{
dataSetRow["SDR"]=dataSetRow["SDR"];
}

如下显示字符串标记

Peter Adams,255 Jhonson Street, NY,74322 

Mary Luther,54 Eglinton Ave.,Mississauga,ON L5A1W6

谁能给点建议?

【问题讨论】:

    标签: string expression birt token


    【解决方案1】:

    所以你有一个填充了标记的“数组”。好的!再用逗号 (array[index].split(",") ) 拆分为另一个数组(比如 array1),并使用 array1 的各个元素以您想要的格式输出值。

    【讨论】:

      【解决方案2】:

      您是否考虑过使用文本控件而不是实际覆盖数据绑定本身?在文本控件中,您可以进行所有格式设置并按照您的意愿获得输出,并且仍然保持数据绑定的完整性。

      为此,只需将一个文本字段拖到您的表格上(而不是数据元素本身)。随着表格的构建,您的文本项将可以访问每一行的数据。然后使用“动态文本”类型配置 HTML 输出的文本元素(两者都通过“文本项”对话框中的下拉菜单进行设置)。然后将其添加为生成文本项的表达式:

      var myexp =/[$$]/; 
      var match = myexp.exec(dataSetRow["SDR"]); 
      var outString = "";
      
      if(match != null) {
          var splitResult = dataSetRow["SDR"].split(" $$ ");
          for(i = 0; i < splitResult.length; i++){
             outString = outString + splitResult[i].replace(",", ":");        
          } 
      }
      else
          outString = dataSetRow["SDR"];
      
      "Name:  " + outString;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-21
        • 2020-04-26
        • 2012-04-20
        相关资源
        最近更新 更多