2009-08-16 7 views
0

У меня есть строка лексемы разделены $$ которые перечень сведений, которые далее разделены запятой (например, 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 

Может ли один дать некоторые предложения?

ответ

0

Итак, у вас есть «массив», заполненный жетонами. Хорошо! Сделайте еще одно разделение запятой (array [index] .split (",")) в другой массив (скажем, array1) и используйте отдельные элементы массива1 для вывода значений в нужном вам формате.

0

Рассматривали ли вы использование текстового элемента управления, а не собственно переписывание самого связывания данных? Внутри текстового элемента управления вы можете сделать все свое форматирование и получить результат, выглядящий так, как вы хотите, и по-прежнему не нарушать целостность ваших данных.

Для этого просто перетащите текстовое поле на свою таблицу (а не сам элемент данных). Ваш текстовый элемент будет иметь доступ к данным каждой строки при построении таблицы. Затем настройте текстовый элемент для вывода 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;