2009-08-16 12 views
0

Ich habe String von $$ getrennt Token, die Liste der Angaben sind die weiter durch Komma getrennt (zB Peter Adams,255 Jhonson Street, NY,74322 $$ Mary Luther,54 Eglinton Ave.,Mississauga,ON L5A1W6)Display-String Tokens

Ich möchte folgende Art und Weise oben angezeigt

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

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

in BIRT Ausgang

ich habe versucht, folgenden Code

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"]; 
} 

die String-Token angezeigt werden als

Peter Adams,255 Jhonson Street, NY,74322 

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

jemand einen Vorschlag machen Kann folgt?

Antwort

0

Sie haben also ein "Array" mit Token gefüllt. Gut! Führen Sie eine weitere Teilung durch ein Komma (array [index] .split (",")) in ein anderes Array (z. B. array1) durch und verwenden Sie einzelne Elemente von array1, um Werte im gewünschten Format auszugeben.

0

Haben Sie überlegt, eine Textkontrolle zu verwenden, anstatt die Datenbindung selbst zu überschreiben? Innerhalb des Text Controls können Sie all Ihre Formatierungen vornehmen und die Ausgabe so aussehen lassen, wie Sie es möchten, und trotzdem die Integrität Ihrer Datenbindung erhalten.

Um dies zu tun, ziehen Sie einfach ein Textfeld auf Ihre Tabelle (anstatt das Datenelement selbst). Ihr Textelement hat Zugriff auf die Daten jeder Zeile, wenn die Tabelle aufgebaut ist. Konfigurieren Sie dann das Textelement für die HTML-Ausgabe mit einer Art "dynamischem Text" (beide werden über Dropdown-Menüs im Dialogfeld Textelement festgelegt). Fügen Sie das dann als Ausdruck für das Generieren des Textelements hinzu:

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;